summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp')
-rw-r--r--src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp b/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp
index 607dad6b94..9b5da9d6d7 100644
--- a/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp
+++ b/src/plugins/platforminputcontexts/meego/qmeegoplatforminputcontext.cpp
@@ -47,6 +47,7 @@
#include <qevent.h>
#include <qscreen.h>
+#include "serveraddressproxy.h"
#include "serverproxy.h"
#include "contextadaptor.h"
@@ -126,6 +127,19 @@ static TextContentType contentTypeFromHints(Qt::InputMethodHints hints)
return type;
}
+static QString maliitServerAddress()
+{
+ org::maliit::Server::Address serverAddress(QStringLiteral("org.maliit.server"), QStringLiteral("/org/maliit/server/address"), QDBusConnection::sessionBus());
+
+ QString address(serverAddress.address());
+
+ // Fallback to old socket when org.maliit.server service is not available
+ if (address.isEmpty())
+ return QStringLiteral("unix:path=/tmp/meego-im-uiserver/imserver_dbus");
+
+ return address;
+}
+
class QMeeGoPlatformInputContextPrivate
{
public:
@@ -517,7 +531,7 @@ bool QMeeGoPlatformInputContext::isInputPanelVisible() const
}
QMeeGoPlatformInputContextPrivate::QMeeGoPlatformInputContextPrivate(QMeeGoPlatformInputContext* qq)
- : connection(QDBusConnection::connectToPeer(QStringLiteral("unix:path=/tmp/meego-im-uiserver/imserver_dbus"), QLatin1String("MeeGoIMProxy")))
+ : connection(QDBusConnection::connectToPeer(maliitServerAddress(), QLatin1String("MeeGoIMProxy")))
, server(0)
, adaptor(0)
, visibility(InputPanelHidden)