summaryrefslogtreecommitdiff
path: root/gsettings/dconfsettingsbackend.c
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2010-09-09 17:39:19 -0400
committerDavid Zeuthen <davidz@redhat.com>2010-09-09 17:39:19 -0400
commit023f6a1049c7c11b999d27ba1e349f69ce90a2d3 (patch)
tree0eb95f175da650a99cb4733b29cdba8746f22ddc /gsettings/dconfsettingsbackend.c
parent38768bb410dfe32c85ecf1628294a0936286cc04 (diff)
downloaddconf-023f6a1049c7c11b999d27ba1e349f69ce90a2d3.tar.gz
Update to latest GDBus ABI
The GDBus filter ABI has been changed, see http://git.gnome.org/browse/glib/commit/?id=c3371efcaa47b03941c6c8148687b0a21d18dfbe for details. Signed-off-by: David Zeuthen <davidz@redhat.com>
Diffstat (limited to 'gsettings/dconfsettingsbackend.c')
-rw-r--r--gsettings/dconfsettingsbackend.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/gsettings/dconfsettingsbackend.c b/gsettings/dconfsettingsbackend.c
index 4170a52..841e14e 100644
--- a/gsettings/dconfsettingsbackend.c
+++ b/gsettings/dconfsettingsbackend.c
@@ -98,7 +98,7 @@ dconf_settings_backend_new_outstanding (DConfSettingsBackend *dcsb,
return &outstanding->serial;
}
-static GDBusMessageFilterResult
+static gboolean
dconf_settings_backend_remove_outstanding (DConfSettingsBackend *dcsb,
guint bus_type,
GDBusMessage *message,
@@ -162,9 +162,7 @@ dconf_settings_backend_remove_outstanding (DConfSettingsBackend *dcsb,
g_static_mutex_unlock (&dcsb->lock);
- return found ?
- G_DBUS_MESSAGE_FILTER_RESULT_MESSAGE_CONSUMED :
- G_DBUS_MESSAGE_FILTER_RESULT_NO_EFFECT;
+ return found;
}
static gboolean
@@ -278,7 +276,7 @@ dconf_settings_backend_incoming_signal (DConfSettingsBackend *dcsb,
}
}
-static GDBusMessageFilterResult
+static GDBusMessage *
dconf_settings_backend_filter (GDBusConnection *connection,
GDBusMessage *message,
gboolean is_incoming,
@@ -308,14 +306,19 @@ dconf_settings_backend_filter (GDBusConnection *connection,
switch (g_dbus_message_get_message_type (message))
{
case G_DBUS_MESSAGE_TYPE_METHOD_RETURN:
- return dconf_settings_backend_remove_outstanding (dcsb, bus_type,
- message, ae);
+ if (dconf_settings_backend_remove_outstanding (dcsb, bus_type,
+ message, ae))
+ {
+ /* consume message */
+ g_object_unref (message);
+ return NULL;
+ }
case G_DBUS_MESSAGE_TYPE_SIGNAL:
dconf_settings_backend_incoming_signal (dcsb, bus_type, message, ae);
default:
- return G_DBUS_MESSAGE_FILTER_RESULT_NO_EFFECT;
+ return message;
}
}