summaryrefslogtreecommitdiff
path: root/gdbus
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:05:52 +0100
commit1618c2735449f17964b51c9f43349192b4b448fc (patch)
tree172c583f13685072c1e2382876874ae25cbfc416 /gdbus
parentf419c26f637f464ec1c63212bc4f2d069f728947 (diff)
downloadconnman-1618c2735449f17964b51c9f43349192b4b448fc.tar.gz
connman-1618c2735449f17964b51c9f43349192b4b448fc.tar.bz2
connman-1618c2735449f17964b51c9f43349192b4b448fc.zip
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 3327cf43..0c112465 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,