Blob Blame History Raw

 gnome-vfs-daemon reads /proc/mounts at startup and uses HAL via
 libhal_drive_from_device_file() in multiple places in gnome-vfs-hal-mounts.c

 Strings in DBUS must be valid UTF8. If the device path is not valid UTF8, 
 dbus_connection_send() will cause a disconnect of the caller and an exit.

 Threfore if the device path contains invalid utf8, gnome-vfs-daemon will fail
 to start. If that happens during a session, gnome-vfs-daemon will be restarted
 by any gnome application wich cause a lot of start/stop of gnome-vfs-daemon.

 The following patch simply ensures that we use valid utf8 for device path to
 avoid problems with hal/dbus.

 Olivier Fourdan <ofourdan@redhat.com>

 gnome-vfs-volume-monitor-daemon.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -up gnome-vfs-2.16.2/libgnomevfs/gnome-vfs-volume-monitor-daemon.c.utf8-mount gnome-vfs-2.16.2/libgnomevfs/gnome-vfs-volume-monitor-daemon.c
--- gnome-vfs-2.16.2/libgnomevfs/gnome-vfs-volume-monitor-daemon.c.utf8-mount	2009-07-07 06:10:24.000000000 -0400
+++ gnome-vfs-2.16.2/libgnomevfs/gnome-vfs-volume-monitor-daemon.c	2009-07-07 06:10:34.000000000 -0400
@@ -874,7 +874,7 @@ create_vol_from_mount (GnomeVFSVolumeMon
 	vol = g_object_new (GNOME_VFS_TYPE_VOLUME, NULL);
 
 	vol->priv->volume_type = GNOME_VFS_VOLUME_TYPE_MOUNTPOINT;
-	vol->priv->device_path = g_strdup (mount->device_path);
+	vol->priv->device_path = make_utf8 (mount->device_path);
 	vol->priv->unix_device = 0;  /* Caller must fill in.  */
 	vol->priv->activation_uri = gnome_vfs_get_uri_from_local_path (mount->mount_path);
 	vol->priv->filesystem_type = g_strdup (mount->filesystem_type);