diff options
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.patch | 84 |
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); + } + } + |