telepathy-mission-control: use a DEBUG instead of warning if dbus_bus_add_match failed
Guillaume Desmottes
gdesmott at kemper.freedesktop.org
Mon Jul 2 03:51:52 PDT 2012
Module: telepathy-mission-control
Branch: master
Commit: ebc338e2a5bc441879895be28c1c822f3a192157
URL: http://cgit.freedesktop.org/telepathy/telepathy-mission-control/commit/?id=ebc338e2a5bc441879895be28c1c822f3a192157
Author: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
Date: Fri Jun 22 09:19:21 2012 +0200
use a DEBUG instead of warning if dbus_bus_add_match failed
Also, make the message more explicit to one can check is D-Bus version if he's
wondering why it failed.
https://bugs.freedesktop.org/show_bug.cgi?id=51282
---
src/client-registry.c | 49 ++++++++++++++++++++++---------------------------
1 files changed, 22 insertions(+), 27 deletions(-)
diff --git a/src/client-registry.c b/src/client-registry.c
index 4874182..3e01a66 100644
--- a/src/client-registry.c
+++ b/src/client-registry.c
@@ -332,33 +332,13 @@ mcd_client_registry_name_owner_filter (DBusConnection *conn,
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
-static gboolean
-add_match (DBusConnection *conn,
- const gchar const *rule,
- const gchar *msg)
-{
- DBusError error = { 0 };
-
- dbus_error_init (&error);
- dbus_bus_add_match (conn, rule, &error);
-
- if (dbus_error_is_set (&error))
- {
- g_warning ("Could not add %s match rule: %s", msg, error.message);
- dbus_error_free (&error);
- return FALSE;
- }
-
- return TRUE;
-}
-
static void
watch_clients (McdClientRegistry *self)
{
TpDBusDaemon *dbus_daemon = self->priv->dbus_daemon;
DBusGConnection *gconn = tp_proxy_get_dbus_connection (dbus_daemon);
DBusConnection *dconn = dbus_g_connection_get_connection (gconn);
- gboolean arg0_filtered = FALSE;
+ DBusError error = { 0 };
#define MATCH_ITEM(t,x) #t "='" x "'"
@@ -372,13 +352,28 @@ watch_clients (McdClientRegistry *self)
NAME_OWNER_RULE "," \
MATCH_ITEM (arg0namespace, "org.freedesktop.Telepathy.Client")
- arg0_filtered = dbus_connection_add_filter (dconn,
- mcd_client_registry_name_owner_filter,
- self,
- NULL);
+ if (!dbus_connection_add_filter (dconn, mcd_client_registry_name_owner_filter,
+ self, NULL))
+ g_critical ("Could not add filter for NameOwnerChanged (out of memory?)");
+
+ dbus_error_init (&error);
+
+ dbus_bus_add_match (dconn, CLIENT_MATCH_RULE, &error);
+ if (dbus_error_is_set (&error))
+ {
+ DEBUG ("Could not add client names match rule (D-Bus 1.6 required): %s",
+ error.message);
+
+ dbus_error_free (&error);
- if (arg0_filtered && !add_match (dconn, CLIENT_MATCH_RULE, "client names"))
- add_match (dconn, NAME_OWNER_RULE, "all dbus names");
+ dbus_bus_add_match (dconn, NAME_OWNER_RULE, &error);
+ if (dbus_error_is_set (&error))
+ {
+ g_critical ("Could not add all dbus names match rule: %s",
+ error.message);
+ dbus_error_free (&error);
+ }
+ }
}
static void
More information about the telepathy-commits
mailing list