gdbus: Hold client reference during get name owner reply
authorMarcel Holtmann <marcel@holtmann.org>
Wed, 2 Jan 2013 15:35:53 +0000 (07:35 -0800)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 2 Jan 2013 15:37:35 +0000 (07:37 -0800)
gdbus/client.c

index 03276f0..c03e3a4 100644 (file)
@@ -1032,6 +1032,8 @@ static void get_name_owner_reply(DBusPendingCall *call, void *user_data)
        DBusError error;
        const char *name;
 
+       g_dbus_client_ref(client);
+
        dbus_error_init(&error);
 
        if (dbus_set_error_from_message(&error, reply) == TRUE) {
@@ -1058,6 +1060,8 @@ done:
 
        dbus_pending_call_unref(client->pending_call);
        client->pending_call = NULL;
+
+       g_dbus_client_unref(client);
 }
 
 static void get_name_owner(GDBusClient *client, const char *name)