mirror of git://git.sysmocom.de/ofono
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:
parent
1ad938a5fd
commit
778b60a94f
|
@ -1642,6 +1642,8 @@ static void process_properties_from_interface(struct generic_data *data,
|
||||||
DBusMessageIter iter, dict, array;
|
DBusMessageIter iter, dict, array;
|
||||||
GSList *invalidated;
|
GSList *invalidated;
|
||||||
|
|
||||||
|
data->pending_prop = FALSE;
|
||||||
|
|
||||||
if (iface->pending_prop == NULL)
|
if (iface->pending_prop == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -1708,8 +1710,6 @@ static void process_property_changes(struct generic_data *data)
|
||||||
|
|
||||||
process_properties_from_interface(data, iface);
|
process_properties_from_interface(data, iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
data->pending_prop = FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void g_dbus_emit_property_changed(DBusConnection *connection,
|
void g_dbus_emit_property_changed(DBusConnection *connection,
|
||||||
|
|
Loading…
Reference in New Issue