gdbus: Fix emitting PropertiesChanged twice

This fixes double emission of PropertiesChanged introduced by flushing
changes, the flushing can happen during the pending processing so the
pending_prop flag needs to be updated in the beginning and the list of
properties can be freed before g_dbus_send_message as it is not required
anymore.
This commit is contained in:
Luiz Augusto von Dentz 2013-08-19 16:54:35 +03:00 committed by Marcel Holtmann
parent 1ad938a5fd
commit 778b60a94f
1 changed files with 2 additions and 2 deletions

View File

@ -1642,6 +1642,8 @@ static void process_properties_from_interface(struct generic_data *data,
DBusMessageIter iter, dict, array;
GSList *invalidated;
data->pending_prop = FALSE;
if (iface->pending_prop == NULL)
return;
@ -1708,8 +1710,6 @@ static void process_property_changes(struct generic_data *data)
process_properties_from_interface(data, iface);
}
data->pending_prop = FALSE;
}
void g_dbus_emit_property_changed(DBusConnection *connection,