summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-12-04 15:42:01 +0200
committerMike Gorse <mgorse@suse.com>2016-12-28 12:42:37 -0500
commit685ad09cf927b0f48727839c13a01478154ca863 (patch)
treea43bf721534a310a68f699095ee5ddf478399085
parent87991a01a90d1611f330df6cc615d7182e879c60 (diff)
downloadat-spi2-core-685ad09cf927b0f48727839c13a01478154ca863.tar.gz
at-spi-bus-launcher: session management fixes
-rw-r--r--bus/at-spi-bus-launcher.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/bus/at-spi-bus-launcher.c b/bus/at-spi-bus-launcher.c
index 54aa07f4..93d8fada 100644
--- a/bus/at-spi-bus-launcher.c
+++ b/bus/at-spi-bus-launcher.c
@@ -205,6 +205,17 @@ register_client (A11yBusLauncher *app)
}
static void
+name_appeared_handler (GDBusConnection *connection,
+ const gchar *name,
+ const gchar *name_owner,
+ gpointer user_data)
+{
+ A11yBusLauncher *app = user_data;
+
+ register_client (app);
+}
+
+static void
setup_bus_child (gpointer data)
{
A11yBusLauncher *app = data;
@@ -588,9 +599,11 @@ on_name_acquired (GDBusConnection *connection,
const gchar *name,
gpointer user_data)
{
- A11yBusLauncher *app = user_data;
-
- register_client (app);
+ g_bus_watch_name (G_BUS_TYPE_SESSION,
+ "org.gnome.SessionManager",
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ name_appeared_handler, NULL,
+ user_data, NULL);
}
static int sigterm_pipefd[2];