diff --git a/eekboard/eekboard-context.c b/eekboard/eekboard-context.c index 82580a7f..b18bb56d 100644 --- a/eekboard/eekboard-context.c +++ b/eekboard/eekboard-context.c @@ -381,6 +381,7 @@ eekboard_context_new (GDBusConnection *connection, return NULL; } + /* the vanished callback is called when the server is disconnected */ g_bus_watch_name_on_connection (connection, name_owner, G_BUS_NAME_WATCHER_FLAGS_NONE, diff --git a/eekboard/eekboard-eekboard.c b/eekboard/eekboard-eekboard.c index 83a16358..a578bbb7 100644 --- a/eekboard/eekboard-eekboard.c +++ b/eekboard/eekboard-eekboard.c @@ -155,6 +155,7 @@ eekboard_eekboard_new (GDBusConnection *connection, return NULL; } + /* the vanished callback is called when the server is disconnected */ g_bus_watch_name_on_connection (connection, name_owner, G_BUS_NAME_WATCHER_FLAGS_NONE, diff --git a/src/server-main.c b/src/server-main.c index ffb45ea3..8bc6f3ea 100644 --- a/src/server-main.c +++ b/src/server-main.c @@ -84,6 +84,7 @@ main (int argc, char **argv) g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL); + /* preload Eek* types for EekKeyboard deserialization */ g_type_class_ref (EEK_TYPE_KEYBOARD); g_type_class_ref (EEK_TYPE_SECTION); g_type_class_ref (EEK_TYPE_KEY); diff --git a/src/server-server.c b/src/server-server.c index d2e072b2..dfea0f48 100644 --- a/src/server-server.c +++ b/src/server-server.c @@ -287,6 +287,8 @@ handle_method_call (GDBusConnection *connection, g_hash_table_insert (server->context_hash, object_path, context); + + /* the vanished callback is called when clients are disconnected */ g_bus_watch_name_on_connection (server->connection, sender, G_BUS_NAME_WATCHER_FLAGS_NONE,