gvfs r1818 - in trunk: . monitor/proxy



Author: davidz
Date: Wed Jul 16 14:51:35 2008
New Revision: 1818
URL: http://svn.gnome.org/viewvc/gvfs?rev=1818&view=rev

Log:
2008-07-16  David Zeuthen  <davidz redhat com>

        * monitor/proxy/gproxyvolumemonitor.c:
        * monitor/proxy/gproxyvolumemonitor.h:
        * monitor/proxy/remote-volume-monitor-module.c:
        Avoid setting up proxy volume monitors if no session bus is
        available. Fixes a crasher with the Fedora NetworkManager system
        settings plug-in that is now using GIO to do file monitoring.



Modified:
   trunk/ChangeLog
   trunk/monitor/proxy/gproxyvolumemonitor.c
   trunk/monitor/proxy/gproxyvolumemonitor.h
   trunk/monitor/proxy/remote-volume-monitor-module.c

Modified: trunk/monitor/proxy/gproxyvolumemonitor.c
==============================================================================
--- trunk/monitor/proxy/gproxyvolumemonitor.c	(original)
+++ trunk/monitor/proxy/gproxyvolumemonitor.c	Wed Jul 16 14:51:35 2008
@@ -947,11 +947,14 @@
                                   priority);
 }
 
-void
+gboolean
 g_proxy_volume_monitor_setup_session_bus_connection (void)
 {
+  gboolean ret;
   DBusError dbus_error;
 
+  ret = FALSE;
+
   G_LOCK (proxy_vm);
   if (the_session_bus != NULL)
     {
@@ -981,8 +984,11 @@
 
   the_volume_monitors = g_hash_table_new_full (g_int_hash, g_int_equal, NULL, NULL);
 
+  ret = TRUE;
+
  out:
   G_UNLOCK (proxy_vm);
+  return ret;
 }
 
 void

Modified: trunk/monitor/proxy/gproxyvolumemonitor.h
==============================================================================
--- trunk/monitor/proxy/gproxyvolumemonitor.h	(original)
+++ trunk/monitor/proxy/gproxyvolumemonitor.h	Wed Jul 16 14:51:35 2008
@@ -62,7 +62,7 @@
 DBusConnection *g_proxy_volume_monitor_get_dbus_connection (GProxyVolumeMonitor *volume_monitor);
 const char     *g_proxy_volume_monitor_get_dbus_name       (GProxyVolumeMonitor *volume_monitor);
 
-void g_proxy_volume_monitor_setup_session_bus_connection (void);
+gboolean g_proxy_volume_monitor_setup_session_bus_connection (void);
 void g_proxy_volume_monitor_teardown_session_bus_connection (void);
 
 

Modified: trunk/monitor/proxy/remote-volume-monitor-module.c
==============================================================================
--- trunk/monitor/proxy/remote-volume-monitor-module.c	(original)
+++ trunk/monitor/proxy/remote-volume-monitor-module.c	Wed Jul 16 14:51:35 2008
@@ -43,7 +43,8 @@
   bindtextdomain (GETTEXT_PACKAGE, GVFS_LOCALEDIR);
   bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
 
-  g_proxy_volume_monitor_setup_session_bus_connection ();
+  if (!g_proxy_volume_monitor_setup_session_bus_connection ())
+    goto out;
 
   g_proxy_drive_register (module);
   g_proxy_mount_register (module);



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