File nautilus-submount.patch of Package nautilus

--- nautilus-2.12.1/src/file-manager/fm-directory-view.c~	2005-09-27 03:31:43.000000000 -0500
+++ nautilus-2.12.1/src/file-manager/fm-directory-view.c	2005-11-01 20:21:54.000000000 -0600
@@ -6461,7 +6477,7 @@ file_should_show_foreach (NautilusFile *
 {
 	GnomeVFSVolume *volume;
 	GnomeVFSDrive *drive;
-	char *uri;
+	char *uri, *fstype;
 
 	*show_mount = FALSE;
 	*show_unmount = FALSE;
@@ -6469,10 +6485,22 @@ file_should_show_foreach (NautilusFile *
 	*show_connect = FALSE;
 
 	if (nautilus_file_has_volume (file)) {
-		*show_unmount = TRUE;
+		GnomeVFSVolumeType vol_type;
 
 		volume = nautilus_file_get_volume (file);
-		*show_eject = eject_for_type (gnome_vfs_volume_get_device_type (volume));
+		vol_type = gnome_vfs_volume_get_volume_type (volume);
+
+		if (vol_type == GNOME_VFS_VOLUME_TYPE_MOUNTPOINT) {
+			fstype = gnome_vfs_volume_get_filesystem_type (volume);
+			if (fstype && strcmp (fstype, "subfs") != 0) {
+				if (!(*show_eject = eject_for_type (gnome_vfs_volume_get_device_type (volume))))
+					*show_unmount = TRUE;
+			}
+			g_free (fstype);
+		} else {
+			*show_unmount = TRUE;
+			*show_eject = eject_for_type (gnome_vfs_volume_get_device_type (volume));
+		}
 	} else if (nautilus_file_has_drive (file)) {
 		drive = nautilus_file_get_drive (file);
 		*show_eject = eject_for_type (gnome_vfs_drive_get_device_type (drive));
openSUSE Build Service is sponsored by