summaryrefslogtreecommitdiff
path: root/src/wkb-ibus.c
diff options
context:
space:
mode:
authorEduardo Lima (Etrunko) <eduardo.lima@intel.com>2013-10-22 11:44:33 -0200
committerEduardo Lima (Etrunko) <eduardo.lima@intel.com>2013-10-22 12:02:50 -0200
commit0958525257ef8464dbcfac999d181270f05cae08 (patch)
treead4342327f1920932fe3c71a299d3b30922a8ef2 /src/wkb-ibus.c
parentc8cfd4454052f45c5b1ae35904a64c506cebb14c (diff)
downloadweekeyboard-0958525257ef8464dbcfac999d181270f05cae08.tar.gz
weekeyboard-0958525257ef8464dbcfac999d181270f05cae08.tar.bz2
weekeyboard-0958525257ef8464dbcfac999d181270f05cae08.zip
Fix IBus shutdown process
Change-Id: Ia56d3d3856cfccd3a1b7301356b9d87d65f2f377 Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
Diffstat (limited to 'src/wkb-ibus.c')
-rw-r--r--src/wkb-ibus.c28
1 files changed, 4 insertions, 24 deletions
diff --git a/src/wkb-ibus.c b/src/wkb-ibus.c
index bd47f20..0eef60f 100644
--- a/src/wkb-ibus.c
+++ b/src/wkb-ibus.c
@@ -206,26 +206,6 @@ error:
}
static void
-_wkb_name_release_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
-{
- unsigned int reply;
-
- _check_message_errors(msg);
-
- if (!eldbus_message_arguments_get(msg, "u", &reply))
- {
- ERR("Error reading message arguments");
- return;
- }
-
- if (reply != ELDBUS_NAME_RELEASE_REPLY_RELEASED)
- {
- ERR("Unexpected name release reply: %d", reply);
- return;
- }
-}
-
-static void
_wkb_ibus_launch_daemon(void)
{
DBG("Launching IBus daemon as: '%s'", IBUS_DAEMON_CMD);
@@ -509,6 +489,8 @@ _wkb_ibus_shutdown_finish(void)
free(wkb_ibus);
wkb_ibus = NULL;
+ ecore_main_loop_quit();
+
wkb_ibus_config_eet_shutdown();
efreet_shutdown();
eldbus_shutdown();
@@ -585,7 +567,6 @@ wkb_ibus_disconnect(void)
if (wkb_ibus->panel)
{
- eldbus_name_release(wkb_ibus->conn, IBUS_SERVICE_PANEL, _wkb_name_release_cb, wkb_ibus);
eldbus_service_interface_unregister(wkb_ibus->panel);
wkb_ibus->panel = NULL;
}
@@ -593,15 +574,14 @@ wkb_ibus_disconnect(void)
if (wkb_ibus->config)
{
wkb_ibus_config_unregister();
- eldbus_name_release(wkb_ibus->conn, IBUS_SERVICE_CONFIG, _wkb_name_release_cb, wkb_ibus);
eldbus_service_interface_unregister(wkb_ibus->config);
wkb_ibus->config = NULL;
}
- ecore_event_add(WKB_IBUS_DISCONNECTED, NULL, _wkb_ibus_disconnect_free, NULL);
-
free(wkb_ibus->address);
wkb_ibus->address = NULL;
+
+ ecore_event_add(WKB_IBUS_DISCONNECTED, NULL, _wkb_ibus_disconnect_free, NULL);
}
Eina_Bool