summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gnome/gconf/unable-connect-dbus.patch
blob: f758a4bcc5df726b2cb0292004821b4b84f782f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Fixes errors such as this in the rootfs generation:

(gconftool-2.real:10095): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead

Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>

From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
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
@@ -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;
     }
-- 
1.7.10.4