Thunar 0.9.0 contains a bug where Audio CDs are no longer handled to
thunar-volman for autoplay. Apply this patch to fix the issue.

Index: thunar-vfs/thunar-vfs-volume-hal.c
===================================================================
--- thunar-vfs/thunar-vfs-volume-hal.c	(revision 26428)
+++ thunar-vfs/thunar-vfs-volume-hal.c	(working copy)
@@ -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);
-                }
+                  /* 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);
+                  /* 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));
+                  /* 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 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);
             }
         }
 
