summaryrefslogtreecommitdiff
path: root/vcl/unx/generic/app/salinst.cxx
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2016-09-01 14:32:01 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2016-09-23 23:25:48 +0200
commit06283e7b00f9f7b7ad1a3e30d2dcb85c8d550588 (patch)
tree94a0d9797f1717a5f6ac18e55882d97decedffe8 /vcl/unx/generic/app/salinst.cxx
parent3bc2b8c5e0c4213b53a974944189bdf7f8155502 (diff)
tdf#101822 X11 SalDisplay init => AfterAppInit
This fixes all X11 based VCL plugins to move display initialization into AfterAppInit (gen, TDE, KDE4), This is done by moving input method and display into SalXLib, so they are available in AfterAppInit. Otherwise the configmgr service won't be available in SalDisplay::BestVisual. Change-Id: I9380075b9770bceb8f453bbcb7fe31291634ff89
Diffstat (limited to 'vcl/unx/generic/app/salinst.cxx')
-rw-r--r--vcl/unx/generic/app/salinst.cxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/vcl/unx/generic/app/salinst.cxx b/vcl/unx/generic/app/salinst.cxx
index c995a4881601..77941353c3a4 100644
--- a/vcl/unx/generic/app/salinst.cxx
+++ b/vcl/unx/generic/app/salinst.cxx
@@ -31,6 +31,8 @@
#include <unx/salframe.h>
#include <unx/genprn.h>
#include <unx/sm.hxx>
+#include <unx/i18n_im.hxx>
+#include <unx/saldisp.hxx>
#include <vcl/inputtypes.hxx>
#include <vcl/helper.hxx>
@@ -85,6 +87,11 @@ X11SalInstance::~X11SalInstance()
GetGenericData()->Dispose();
}
+SalX11Display* X11SalInstance::CreateDisplay() const
+{
+ return new SalX11Display( mpXLib->GetDisplay() );
+}
+
// AnyInput from sv/mow/source/app/svapp.cxx
struct PredicateReturn
@@ -195,6 +202,16 @@ void X11SalInstance::DestroyFrame( SalFrame* pFrame )
delete pFrame;
}
+void X11SalInstance::AfterAppInit()
+{
+ assert( mpXLib->GetDisplay() );
+ assert( mpXLib->GetInputMethod() );
+
+ SalX11Display *pSalDisplay = CreateDisplay();
+ mpXLib->GetInputMethod()->CreateMethod( mpXLib->GetDisplay() );
+ pSalDisplay->SetupInput();
+}
+
extern "C" { static void SAL_CALL thisModule() {} }
void X11SalInstance::AddToRecentDocumentList(const OUString& rFileUrl, const OUString& rMimeType, const OUString& rDocumentService)