13053N/A--- nautilus-cd-burner-2.22.0/src/nautilus-burn-drive.c.bak 2008-05-16 17:36:53.167745000 +0800
13053N/A+++ nautilus-cd-burner-2.22.0/src/nautilus-burn-drive.c 2008-05-16 17:36:39.179548000 +0800
13053N/A@@ -43,6 +43,10 @@
13053N/A #include <scsi/sg.h>
13053N/A #endif /* __linux__ */
13053N/A
13053N/A+#ifdef sun
13053N/A+#include <sys/dkio.h>
13053N/A+#endif /* sun */
13053N/A+
13053N/A #ifdef __FreeBSD__
13053N/A #include <sys/cdio.h>
13053N/A #include <sys/cdrio.h>
13053N/A@@ -799,6 +803,13 @@
10784N/A
12246N/A g_return_val_if_fail (drive != NULL, FALSE);
10784N/A
13053N/A+#ifdef sun
13053N/A+ if (drive->priv->media_udi != NULL) {
13053N/A+ cmd = g_strdup_printf ("gnome-mount --block --eject --no-ui --hal-udi=%s", drive->priv->media_udi);
13053N/A+ } else {
13053N/A+ cmd = g_strdup ("eject cdrom");
13053N/A+ }
10784N/A+#else
12246N/A if (drive->priv->device == NULL) {
12246N/A return FALSE;
12246N/A }
13053N/A@@ -808,6 +819,7 @@
10784N/A #else
12246N/A cmd = g_strdup_printf ("eject %s", drive->priv->device);
10784N/A #endif
10784N/A+#endif
10784N/A
12246N/A res = g_spawn_command_line_sync (cmd, NULL, NULL, NULL, NULL);
12246N/A g_free (cmd);
13053N/A@@ -1463,7 +1475,7 @@
13053N/A return status & CDC_OPEN_TRAY;
13053N/A }
13053N/A #else
13053N/A- return FALSE;
13053N/A+ return TRUE;
13053N/A #endif
13053N/A }
13053N/A