diff options
author | Huang Peng <shawn.p.huang@gmail.com> | 2008-08-22 10:41:44 +0800 |
---|---|---|
committer | Huang Peng <shawn.p.huang@gmail.com> | 2008-08-22 10:41:44 +0800 |
commit | c4a1a72e576f268382a355ccd66b9d717aaf555f (patch) | |
tree | d3e90db5bc63f709ccc66da6bf6bac522df746b1 | |
parent | 659f9387df90ebb90a9d832f8d4d86aac28573a6 (diff) | |
download | ibus-c4a1a72e576f268382a355ccd66b9d717aaf555f.tar.gz ibus-c4a1a72e576f268382a355ccd66b9d717aaf555f.tar.xz ibus-c4a1a72e576f268382a355ccd66b9d717aaf555f.zip |
Fix problem when restart ibus-daemon.
-rw-r--r-- | client/qt4/ibus-client.cpp | 3 | ||||
-rw-r--r-- | client/qt4/ibus-client.h | 1 | ||||
-rw-r--r-- | client/qt4/ibus-input-context.cpp | 3 |
3 files changed, 6 insertions, 1 deletions
diff --git a/client/qt4/ibus-client.cpp b/client/qt4/ibus-client.cpp index 41d97f8..c7f5397 100644 --- a/client/qt4/ibus-client.cpp +++ b/client/qt4/ibus-client.cpp @@ -57,6 +57,7 @@ IBusClient::IBusClient () session = getenv ("DISPLAY"); session.replace (":", "-"); + ibus_path = QString("/tmp/ibus-%1/ibus-%2").arg (username, session); ibus_addr = QString("unix:path=/tmp/ibus-%1/ibus-%2").arg (username, session); connectToBus (); @@ -471,7 +472,7 @@ IBusClient::slotDirectoryChanged (const QString & /*path*/) disconnectFromBus (); if (ibus == NULL ) { - if (QFile::exists (ibus_addr)) { + if (QFile::exists (ibus_path)) { usleep (500); connectToBus (); } diff --git a/client/qt4/ibus-client.h b/client/qt4/ibus-client.h index ff21c07..abddae6 100644 --- a/client/qt4/ibus-client.h +++ b/client/qt4/ibus-client.h @@ -81,6 +81,7 @@ private: QHash <QString, IBusInputContext *>context_dict; QString username; QString session; + QString ibus_path; QString ibus_addr; }; diff --git a/client/qt4/ibus-input-context.cpp b/client/qt4/ibus-input-context.cpp index 28e8af0..d120f1e 100644 --- a/client/qt4/ibus-input-context.cpp +++ b/client/qt4/ibus-input-context.cpp @@ -164,6 +164,9 @@ void IBusInputContext::setIC (QString ic) { this->ic = ic; + if (has_focus && !ic.isEmpty ()) { + client->focusIn (this); + } } QString |