[gconf] dbus: Don't spew to console when unable to connect to dbus daemon



commit b0895e1998ebc83ab030ec0f17c0685439f5b404
Author: Ray Strode <rstrode redhat com>
Date:   Mon Apr 15 09:57:34 2013 -0400

    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
@@ -105,7 +105,7 @@ 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,
@@ -383,7 +383,7 @@ gconf_engine_detach (GConfEngine *conf)
 }
 
 static gboolean
-ensure_dbus_connection (void)
+ensure_dbus_connection (GError **err)
 {
   DBusError error;
 
@@ -392,7 +392,9 @@ ensure_dbus_connection (void)
 
   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;
     }
 
@@ -402,7 +404,10 @@ ensure_dbus_connection (void)
   
   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;
@@ -431,13 +436,8 @@ ensure_service (gboolean  start_if_not_found,
 
   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);
     }
@@ -2512,7 +2512,7 @@ gconf_ping_daemon (void)
 {
   if (global_conn == NULL)
   {
-    if (!ensure_dbus_connection ())
+    if (!ensure_dbus_connection (NULL))
     {
       return FALSE;
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]