aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2013-02-01 09:03:22 -0600
committerMarcel Holtmann <marcel@holtmann.org>2013-02-01 22:07:12 +0100
commit8a88e5aac54bc88938543a56a00b6349fb58ec8d (patch)
tree06240461c7d2f9e2b5456f755d1d8d557930ed1a
parent65960b0b7d9ec879c2937dceff9c447d2fe0a475 (diff)
downloadpacrunner-8a88e5aac54bc88938543a56a00b6349fb58ec8d.tar.gz
gdbus: Fix unpublished interface signal emission
If we haven't published an interface yet (i.e. it's in the data->added list), we should just ignore any property changed indications as the values for the properties will anyway be part of the InterfacesAdded signal.
-rw-r--r--gdbus/object.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdbus/object.c b/gdbus/object.c
index 3327cf4..0c11246 100644
--- a/gdbus/object.c
+++ b/gdbus/object.c
@@ -1701,6 +1701,10 @@ void g_dbus_emit_property_changed(DBusConnection *connection,
if (iface == NULL)
return;
+ /* Don't emit property changed if interface is not yet published */
+ if (g_slist_find(data->added, iface))
+ return;
+
property = find_property(iface->properties, name);
if (property == NULL) {
error("Could not find property %s in %p", name,