summaryrefslogtreecommitdiffstats
path: root/gdbus
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2010-04-30 01:23:45 +0300
committerMarcel Holtmann <marcel@holtmann.org>2010-04-30 00:30:54 +0200
commit58b37ddb531c4d095962bc9ac3ecf7bd2048a210 (patch)
tree79a5b0f04e1fb8c6b837c70dbaa286025e949fb9 /gdbus
parent3f2494a7b0aaa5c7baa0ed90f5d47b224dcea181 (diff)
downloadofono-58b37ddb531c4d095962bc9ac3ecf7bd2048a210.tar.bz2
Fix parent path introspection data invalidation for multiple levels
In the case that parent path data needs to be invalidated we shouldn't stop at the immediate parent if it doesn't have our own handler registered but should continue upwards in the tree until we reach root or our own handler.
Diffstat (limited to 'gdbus')
-rw-r--r--gdbus/object.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdbus/object.c b/gdbus/object.c
index 592e2d3c..ff696414 100644
--- a/gdbus/object.c
+++ b/gdbus/object.c
@@ -308,8 +308,10 @@ static void invalidate_parent_data(DBusConnection *conn, const char *child_path)
goto done;
if (!dbus_connection_get_object_path_data(conn, parent_path,
- (void *) &data))
+ (void *) &data)) {
+ invalidate_parent_data(conn, parent_path);
goto done;
+ }
if (!data)
goto done;