diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-08-19 16:54:35 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-09-09 17:35:30 +0300 |
commit | 2ed519778ffa910e4d32413c88c9ab744d4c1f4c (patch) | |
tree | c9844feb3523152e876e4b1c8199f68917499dca /gdbus | |
parent | c77003af20a2352b826c79f525b12a6f757d3fbc (diff) | |
download | bluez-2ed519778ffa910e4d32413c88c9ab744d4c1f4c.tar.gz |
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.
Diffstat (limited to 'gdbus')
-rw-r--r-- | gdbus/object.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdbus/object.c b/gdbus/object.c index c4cf72440..0822fe884 100644 --- a/gdbus/object.c +++ b/gdbus/object.c @@ -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, |