gdbus: Fix unpublished interface signal emission
authorJohan Hedberg <johan.hedberg@intel.com>
Fri, 1 Feb 2013 15:03:22 +0000 (09:03 -0600)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 1 Feb 2013 21:05:52 +0000 (22:05 +0100)
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.

gdbus/object.c

index 3327cf4..0c11246 100644 (file)
@@ -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,