summaryrefslogtreecommitdiffstats
path: root/sysutils/nautilus-cd-burner/files/patch-src_nautilus-burn-drive-monitor.c
blob: 9ae3889d67caaf0f7ce92fa71eb0fcf9a7088358 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- src/nautilus-burn-drive-monitor.c.orig  Thu Nov  2 12:56:50 2006
+++ src/nautilus-burn-drive-monitor.c   Thu Nov  2 12:56:21 2006
@@ -683,6 +683,7 @@ hal_drive_from_udi (LibHalContext *ctx,
    NautilusBurnDrive        *drive;
    char                    **write_speeds = NULL;
    char                     *raw_device = NULL;
+   char                     *cam_path = NULL;
 
    LIBHAL_CHECK_LIBHALCONTEXT (ctx, FALSE);
 
@@ -711,6 +712,7 @@ hal_drive_from_udi (LibHalContext *ctx,
 
        LIBHAL_PROP_EXTRACT_STRING  ("block.device",               drive->priv->device);
        LIBHAL_PROP_EXTRACT_STRING  ("block.solaris.raw_device",   raw_device);
+       LIBHAL_PROP_EXTRACT_STRING  ("block.freebsd.cam_path",     cam_path);
        LIBHAL_PROP_EXTRACT_STRING  ("storage.model",              drive->priv->display_name);
 
        LIBHAL_PROP_EXTRACT_INT ("storage.cdrom.read_speed",   drive->priv->max_speed_read);
@@ -734,6 +736,11 @@ hal_drive_from_udi (LibHalContext *ctx,
    if (raw_device != NULL) {
        g_free (drive->priv->device);
        drive->priv->device = raw_device;
+   }
+
+   if (cam_path != NULL) {
+       g_free (drive->priv->device);
+       drive->priv->device = cam_path;
    }
 
    drive->priv->drive_udi = g_strdup (udi);