Author: kelnos
Date: 2008-10-20 20:11:43 +0000 (Mon, 20 Oct 2008)
New Revision: 28335

Modified:
   xfconf/trunk/xfconf/xfconf.c
Log:
eliminate g_warning when re-initing xfconf after a shutdown

Modified: xfconf/trunk/xfconf/xfconf.c
===================================================================
--- xfconf/trunk/xfconf/xfconf.c        2008-10-20 20:11:31 UTC (rev 28334)
+++ xfconf/trunk/xfconf/xfconf.c        2008-10-20 20:11:43 UTC (rev 28335)
@@ -79,6 +79,33 @@
 
 
 
+static void
+xfconf_static_dbus_init()
+{
+    static gboolean static_dbus_inited = FALSE;
+
+    if(!static_dbus_inited) {
+        dbus_g_error_domain_register(XFCONF_ERROR, "org.xfce.Xfconf.Error",
+                                     XFCONF_TYPE_ERROR);
+
+        
dbus_g_object_register_marshaller(xfconf_marshal_VOID__STRING_STRING_BOXED,
+                                          G_TYPE_NONE,
+                                          G_TYPE_STRING,
+                                          G_TYPE_STRING,
+                                          G_TYPE_VALUE,
+                                          G_TYPE_INVALID);
+        dbus_g_object_register_marshaller(xfconf_marshal_VOID__STRING_STRING,
+                                          G_TYPE_NONE,
+                                          G_TYPE_STRING,
+                                          G_TYPE_STRING,
+                                          G_TYPE_INVALID);
+
+        static_dbus_inited = TRUE;
+    }
+}
+
+
+
 /* public api */
 
 /**
@@ -101,8 +128,7 @@
 
     g_type_init();
 
-    dbus_g_error_domain_register(XFCONF_ERROR, "org.xfce.Xfconf.Error",
-                                 XFCONF_TYPE_ERROR);
+    xfconf_static_dbus_init();
 
     dbus_conn = dbus_g_bus_get(DBUS_BUS_SESSION, error);
     if(!dbus_conn)
@@ -113,20 +139,9 @@
                                            "/org/xfce/Xfconf",
                                            "org.xfce.Xfconf");
 
-    
dbus_g_object_register_marshaller((GClosureMarshal)xfconf_marshal_VOID__STRING_STRING_BOXED,
-                                      G_TYPE_NONE,
-                                      G_TYPE_STRING,
-                                      G_TYPE_STRING,
-                                      G_TYPE_VALUE,
-                                      G_TYPE_INVALID);
     dbus_g_proxy_add_signal(dbus_proxy, "PropertyChanged",
                             G_TYPE_STRING, G_TYPE_STRING, G_TYPE_VALUE,
                             G_TYPE_INVALID);
-    
dbus_g_object_register_marshaller((GClosureMarshal)xfconf_marshal_VOID__STRING_STRING,
-                                      G_TYPE_NONE,
-                                      G_TYPE_STRING,
-                                      G_TYPE_STRING,
-                                      G_TYPE_INVALID);
     dbus_g_proxy_add_signal(dbus_proxy, "PropertyRemoved",
                             G_TYPE_STRING, G_TYPE_STRING,
                             G_TYPE_INVALID);

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to