summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'xfce-base/thunar/files/thunar-0.9.0-missing-audio-cds-for-volman.patch')
-rw-r--r--xfce-base/thunar/files/thunar-0.9.0-missing-audio-cds-for-volman.patch84
1 files changed, 84 insertions, 0 deletions
diff --git a/xfce-base/thunar/files/thunar-0.9.0-missing-audio-cds-for-volman.patch b/xfce-base/thunar/files/thunar-0.9.0-missing-audio-cds-for-volman.patch
new file mode 100644
index 000000000000..d2fa9e7ffbe4
--- /dev/null
+++ b/xfce-base/thunar/files/thunar-0.9.0-missing-audio-cds-for-volman.patch
@@ -0,0 +1,84 @@
+diff -ur Thunar-0.9.0.orig/thunar-vfs/thunar-vfs-volume-hal.c Thunar-0.9.0/thunar-vfs/thunar-vfs-volume-hal.c
+--- Thunar-0.9.0.orig/thunar-vfs/thunar-vfs-volume-hal.c 2007-12-02 15:46:33.000000000 +0200
++++ Thunar-0.9.0/thunar-vfs/thunar-vfs-volume-hal.c 2007-12-03 18:45:48.000000000 +0200
+@@ -1007,9 +1007,7 @@
+ hv = libhal_volume_from_udi (context, udi);
+
+ /* HAL might want us to ignore this volume for some reason */
+- if (G_UNLIKELY (hv != NULL
+- && (libhal_volume_should_ignore (hv)
+- || libhal_volume_get_fsusage (hv) != LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM)))
++ if (G_UNLIKELY (hv != NULL && libhal_volume_should_ignore (hv)))
+ {
+ libhal_volume_free (hv);
+ return;
+@@ -1020,38 +1018,42 @@
+
+ if (G_LIKELY (hv != NULL))
+ {
+- /* determine the UDI of the drive to which this volume belongs */
+- drive_udi = libhal_volume_get_storage_device_udi (hv);
+- if (G_LIKELY (drive_udi != NULL))
++ /* check if we have a mountable file system here */
++ if (libhal_volume_get_fsusage (hv) == LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM)
+ {
+- /* determine the drive for the volume */
+- hd = libhal_drive_from_udi (context, drive_udi);
+- if (G_LIKELY (hd != NULL))
++ /* determine the UDI of the drive to which this volume belongs */
++ drive_udi = libhal_volume_get_storage_device_udi (hv);
++ if (G_LIKELY (drive_udi != NULL))
+ {
+- /* check if we already have a volume object for the UDI */
+- volume_hal = thunar_vfs_volume_manager_hal_get_volume_by_udi (manager_hal, udi);
+- if (G_LIKELY (volume_hal == NULL))
++ /* determine the drive for the volume */
++ hd = libhal_drive_from_udi (context, drive_udi);
++ if (G_LIKELY (hd != NULL))
+ {
+- /* otherwise, we allocate a new volume object */
+- volume_hal = g_object_new (THUNAR_VFS_TYPE_VOLUME_HAL, NULL);
+- volume_hal->udi = g_strdup (udi);
+- }
+-
+- /* update the volume object with the new data from the HAL volume/drive */
+- thunar_vfs_volume_hal_update (volume_hal, context, hv, hd);
++ /* check if we already have a volume object for the UDI */
++ volume_hal = thunar_vfs_volume_manager_hal_get_volume_by_udi (manager_hal, udi);
++ if (G_LIKELY (volume_hal == NULL))
++ {
++ /* otherwise, we allocate a new volume object */
++ volume_hal = g_object_new (THUNAR_VFS_TYPE_VOLUME_HAL, NULL);
++ volume_hal->udi = g_strdup (udi);
++ }
++
++ /* update the volume object with the new data from the HAL volume/drive */
++ thunar_vfs_volume_hal_update (volume_hal, context, hv, hd);
++
++ /* add the volume object to our list if we allocated a new one */
++ if (g_list_find (THUNAR_VFS_VOLUME_MANAGER (manager_hal)->volumes, volume_hal) == NULL)
++ {
++ /* add the volume to the volume manager */
++ thunar_vfs_volume_manager_add (THUNAR_VFS_VOLUME_MANAGER (manager_hal), THUNAR_VFS_VOLUME (volume_hal));
++
++ /* release the reference on the volume */
++ g_object_unref (G_OBJECT (volume_hal));
++ }
+
+- /* add the volume object to our list if we allocated a new one */
+- if (g_list_find (THUNAR_VFS_VOLUME_MANAGER (manager_hal)->volumes, volume_hal) == NULL)
+- {
+- /* add the volume to the volume manager */
+- thunar_vfs_volume_manager_add (THUNAR_VFS_VOLUME_MANAGER (manager_hal), THUNAR_VFS_VOLUME (volume_hal));
+-
+- /* release the reference on the volume */
+- g_object_unref (G_OBJECT (volume_hal));
++ /* release the HAL drive */
++ libhal_drive_free (hd);
+ }
+-
+- /* release the HAL drive */
+- libhal_drive_free (hd);
+ }
+ }
+