File gconf2-pass-warning-to-caller.patch of Package gconf2

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;
     }
openSUSE Build Service is sponsored by