From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 15 Apr 2013 09:57:34 -0400 Subject: [PATCH] dbus: Don't spew to console when unable to connect to dbus daemon Instead pass the error up for the caller to decide what to do. This prevent untrappable warning messages from showing up at the console if gconftool --makefile-install-rule is called. --- gconf/gconf-dbus.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c index 5610fcf..048e3ea 100644 --- a/gconf/gconf-dbus.c +++ b/gconf/gconf-dbus.c @@ -104,9 +104,9 @@ static GConfEngine *default_engine = NULL; static GHashTable *engines_by_db = NULL; static GHashTable *engines_by_address = NULL; static gboolean dbus_disconnected = FALSE; -static gboolean ensure_dbus_connection (void); +static gboolean ensure_dbus_connection (GError **error); static gboolean ensure_service (gboolean start_if_not_found, GError **err); static gboolean ensure_database (GConfEngine *conf, gboolean start_if_not_found, @@ -382,18 +382,20 @@ gconf_engine_detach (GConfEngine *conf) } } static gboolean -ensure_dbus_connection (void) +ensure_dbus_connection (GError **err) { DBusError error; if (global_conn != NULL) return TRUE; if (dbus_disconnected) { - g_warning ("The connection to DBus was broken. Can't reinitialize it."); + g_set_error (err, GCONF_ERROR, + GCONF_ERROR_NO_SERVER, + "The connection to DBus was broken. Can't reinitialize it."); return FALSE; } dbus_error_init (&error); @@ -401,9 +403,12 @@ ensure_dbus_connection (void) global_conn = dbus_bus_get_private (DBUS_BUS_SESSION, &error); if (!global_conn) { - g_warning ("Client failed to connect to the D-BUS daemon:\n%s", error.message); + g_set_error (err, GCONF_ERROR, + GCONF_ERROR_NO_SERVER, + "Client failed to connect to the D-BUS daemon:\n%s", + error.message); dbus_error_free (&error); return FALSE; } @@ -430,15 +435,10 @@ ensure_service (gboolean start_if_not_found, DBusError error; if (global_conn == NULL) { - if (!ensure_dbus_connection ()) - { - g_set_error (err, GCONF_ERROR, - GCONF_ERROR_NO_SERVER, - _("No D-BUS daemon running\n")); - return FALSE; - } + if (!ensure_dbus_connection (err)) + return FALSE; g_assert (global_conn != NULL); } @@ -2511,9 +2511,9 @@ gboolean gconf_ping_daemon (void) { if (global_conn == NULL) { - if (!ensure_dbus_connection ()) + if (!ensure_dbus_connection (NULL)) { return FALSE; } g_assert (global_conn != NULL); -- 1.8.1.4