[Nautilus-list] Nautilus HEAD on Solaris



Hi,

This morning I built Nautilus on Solaris 8 from the CVS HEAD.
I've found a few little things:

Build issues:

  - in libnautilus-extensions/nautilus-cdrom-extensions.h
      I needed
           #include <sys/types.h>
      before
           #include <sys/cdio.h>
      for caddr_t.

  - in libnautilus-extensions/nautilus-volume-monitor.c
      Two little fixes:

         #ifdef HAVE_SYS_MNTTAB_H
     -       MountTableEntry *ent = &ent_storage;
     +       ent = &ent_storage;

     (ent is already defined a few lines above)

     and:

     -       *fd = open (new_dev_path.str, O_RDONLY | O_NONBLOCK);
     +       *fd = open (new_dev_path->str, O_RDONLY | O_NONBLOCK);

    (new_dev_path is a pointer)

Runtime issues:

  - Nautilus crashed when I had a CD mounted or if I put in a CD while Nautilus was running.
      This was because in libnautilus-extensions/nautilus-volume-monitor.c
      NAUTILUS_VOLUME_HSFS was not handled by the switch()'es in
      functions mount_volume_get_name() and mount_volume_activate()
      so it reached g_assert_not_reached ().

I have attached the patch for the above issues.

I have one more issue around the volume monitor code though. If I start nautilus with
a CD in the drive it comes up and displays the CD icon on the desktop but the label
says "Unknown". Now, if I right click and choose unmount it ejects the CD but
the icon stays on the desktop. Then, if I put in the CD again, it puts another icon
on the desktop with the correct label (e.g. mp3 (-;), so I have 2 of them.
This only happens if the CD is in the drive when I start Nautilus. I didn't have a
chance to test it on Linux.

Cheers,

Laca

Index: libnautilus-extensions/nautilus-cdrom-extensions.h
===================================================================
RCS file: /export/CVS/GNOME-RE/nautilus/libnautilus-extensions/nautilus-cdrom-extensions.h,v
retrieving revision 1.2
diff -u -r1.2 nautilus-cdrom-extensions.h
--- libnautilus-extensions/nautilus-cdrom-extensions.h	2001/02/22 14:21:54	1.2
+++ libnautilus-extensions/nautilus-cdrom-extensions.h	2001/04/19 17:40:29
@@ -25,6 +25,7 @@
 #ifndef FM_CDROM_EXTENSIONS_H
 #define FM_CDROM_EXTENSIONS_H
 
+#include <sys/types.h>
 
 #ifdef HAVE_SYS_CDIO_H
 
Index: libnautilus-extensions/nautilus-volume-monitor.c
===================================================================
RCS file: /export/CVS/GNOME-RE/nautilus/libnautilus-extensions/nautilus-volume-monitor.c,v
retrieving revision 1.81
diff -u -r1.81 nautilus-volume-monitor.c
--- libnautilus-extensions/nautilus-volume-monitor.c	2001/04/18 23:47:34	1.81
+++ libnautilus-extensions/nautilus-volume-monitor.c	2001/04/19 17:40:29
@@ -441,7 +441,7 @@
 	
 	/* Search for our device in the fstab */
 #ifdef HAVE_SYS_MNTTAB_H
-	MountTableEntry *ent = &ent_storage;
+	ent = &ent_storage;
 	while (!getmntent (file, ent)) {
 		if (strcmp (volume->device_path, ent->mnt_special) == 0) {
   			/* On Solaris look for /vol/ for determining
@@ -748,6 +748,7 @@
 		break;
 
 	case NAUTILUS_VOLUME_CDROM:
+	case NAUTILUS_VOLUME_HSFS:
 		mount_volume_get_cdrom_name (volume);
 		break;
 		
@@ -804,6 +805,7 @@
 		break;
 
 	case NAUTILUS_VOLUME_CDROM:
+	case NAUTILUS_VOLUME_HSFS:
 		mount_volume_activate_cdrom (monitor, volume);
 		break;
 		
@@ -877,6 +879,7 @@
 
 	switch (volume->type) {
 	case NAUTILUS_VOLUME_CDROM:
+	case NAUTILUS_VOLUME_HSFS:
 		pthread_create (&eject_thread, NULL, eject_device, g_strdup (volume->device_path));
 	break;
 		
@@ -1177,7 +1180,7 @@
 	 */
 	new_dev_path = g_string_new (vol_dev_path);
 	new_dev_path = g_string_insert_c (new_dev_path, 9, 'r');
-	*fd = open (new_dev_path.str, O_RDONLY | O_NONBLOCK);
+	*fd = open (new_dev_path->str, O_RDONLY | O_NONBLOCK);
 	g_string_free (new_dev_path, TRUE);
 
 	if (*fd < 0) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]