/* ---------------------------------------------------------------------------------------------------- */
static void
-handle_new_name_owner (Client *client,
- const gchar *name_owner)
-{
- if (name_owner != NULL)
- {
- g_warn_if_fail (client->name_owner == NULL);
- client->name_owner = name_owner;
- call_appeared_handler (client);
- }
- else
- {
- call_vanished_handler (client, FALSE);
- }
- client->initialized = TRUE;
-}
-
-static void
get_name_owner_cb (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
g_variant_get (result, "(&s)", &name_owner);
}
- handle_new_name_owner (client, g_strdup (name_owner));
+ if (name_owner != NULL)
+ {
+ g_warn_if_fail (client->name_owner == NULL);
+ client->name_owner = g_strdup (name_owner);
+ call_appeared_handler (client);
+ }
+ else
+ {
+ call_vanished_handler (client, FALSE);
+ }
+
+ client->initialized = TRUE;
if (result != NULL)
g_variant_unref (result);
}
else
{
- /* check owner - to avoid race-condition between GetNameOwner reply and
- NameOwnerChanged signal let's use GetNameOwner sync call on kdbus bus */
- if (_g_dbus_connection_is_kdbus (client->connection))
- {
- gchar *name_owner;
-
- name_owner = g_dbus_get_name_owner (client->connection,
- client->name,
- NULL);
-
- handle_new_name_owner (client, name_owner);
- }
- else
- {
- invoke_get_name_owner (client);
- }
+ /* check owner */
+ invoke_get_name_owner (client);
}
}