diff options
author | Rob Bradford <rob@linux.intel.com> | 2011-08-15 15:24:27 +0100 |
---|---|---|
committer | Rob Bradford <rob@linux.intel.com> | 2011-08-15 15:29:58 +0100 |
commit | 38f1973d58c65639fe83de7918b5c765933302cd (patch) | |
tree | 6cc44c78d886525e00f0467b45a1bc19f2418be9 | |
parent | 6736f42ce5172b44083a9089ff4a777ed1c5bdc3 (diff) | |
download | gconf-38f1973d58c65639fe83de7918b5c765933302cd.tar.gz |
gconf-dbus: Support older daemon returning string for object path
Enhances: https://bugzilla.gnome.org/show_bug.cgi?id=655656
-rw-r--r-- | gconf/gconf-dbus.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c index 4b74bb8e..335bc229 100644 --- a/gconf/gconf-dbus.c +++ b/gconf/gconf-dbus.c @@ -543,10 +543,23 @@ ensure_database (GConfEngine *conf, if (gconf_handle_dbus_exception (reply, &error, err)) return FALSE; - dbus_message_get_args (reply, - NULL, - DBUS_TYPE_OBJECT_PATH, &db, - DBUS_TYPE_INVALID); + /* Previously we used "s" for the type here - this is for compatability + * See: https://bugzilla.gnome.org/show_bug.cgi?id=655656 */ + if (g_str_equal (dbus_message_get_signature (reply), "s")) + { + g_warning (G_STRLOC ": Using compatability for older daemon"); + dbus_message_get_args (reply, + NULL, + DBUS_TYPE_STRING, &db, + DBUS_TYPE_INVALID); + } + else + { + dbus_message_get_args (reply, + NULL, + DBUS_TYPE_OBJECT_PATH, &db, + DBUS_TYPE_INVALID); + } if (db == NULL) { |