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:06:59 +0100
commit6ba49d96f95706816c62a50967d117cdaaafb09d (patch)
treed2073e603f0175955f469a29e901885a7e6c5373
parent8fe3c28bc96d7ecf8ddcc75f924ac29f6daf9c14 (diff)
downloadmmsd-6ba49d96f95706816c62a50967d117cdaaafb09d.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,