summaryrefslogtreecommitdiff
path: root/gdbus
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2013-02-01 09:03:22 -0600
committerJohan Hedberg <johan.hedberg@intel.com>2013-02-01 09:05:34 -0600
commit7643aac9d8b079a6eac6e4a1d9fca8cb1ae683a2 (patch)
treea70bdf3ab592a425554d8bb79fd2292b577ef38d /gdbus
parent11b9adb69a24744dac20fc58912e1e6ce512e991 (diff)
downloadbluez-7643aac9d8b079a6eac6e4a1d9fca8cb1ae683a2.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.
Diffstat (limited to 'gdbus')
-rw-r--r--gdbus/object.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdbus/object.c b/gdbus/object.c
index 3327cf437..0c1124659 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,