From: Szymon Janc Date: Mon, 23 Feb 2015 18:33:00 +0000 (+0100) Subject: gdbus: Fix not calling disconnect function X-Git-Tag: upstream/1.17~58 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d8edd4953542fb5e60f431afeb2e5900c7cbb502;p=platform%2Fupstream%2Fofono.git gdbus: Fix not calling disconnect function If daemon gets disconnected from D-Bus sender is NULL. Watches that was explicitly added with NULL sender (ie disconnected_signal in g_dbus_set_disconnect_function) should be called anyway. --- diff --git a/gdbus/watch.c b/gdbus/watch.c index 0d0054c1..b60f650f 100644 --- a/gdbus/watch.c +++ b/gdbus/watch.c @@ -523,9 +523,7 @@ static DBusHandlerResult message_filter(DBusConnection *connection, member = dbus_message_get_member(message); dbus_message_get_args(message, NULL, DBUS_TYPE_STRING, &arg, DBUS_TYPE_INVALID); - /* Sender is always the owner */ - if (sender == NULL) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + /* If sender != NULL it is always the owner */ for (current = listeners; current != NULL; current = current->next) { data = current->data; @@ -533,6 +531,9 @@ static DBusHandlerResult message_filter(DBusConnection *connection, if (connection != data->connection) continue; + if (!sender && data->owner) + continue; + if (data->owner && g_str_equal(sender, data->owner) == FALSE) continue;