summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Neumair <cneumair@gnome.org>2008-03-31 16:48:50 +0000
committerChristian Neumair <cneumair@src.gnome.org>2008-03-31 16:48:50 +0000
commite33fa75fa41f295ab24a2e981c23c31adb0a918c (patch)
tree1eca8b4df067b96f33583cc46469e8ae4cf3da3c
parentf7f5e4e73cc3beb84884967b07d0b118398df42f (diff)
downloadnautilus-e33fa75fa41f295ab24a2e981c23c31adb0a918c.tar.gz
Do not automount mount points inside hidden hierarchies (#524075).
2008-03-31 Christian Neumair <cneumair@gnome.org> * libnautilus-private/nautilus-autorun.c (should_skip_native_mount_root), (should_autorun_mount): Do not automount mount points inside hidden hierarchies (#524075). svn path=/branches/gnome-2-22/; revision=14014
-rw-r--r--ChangeLog6
-rw-r--r--libnautilus-private/nautilus-autorun.c16
2 files changed, 21 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a09040f66..a8c4f197b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-03-31 Christian Neumair <cneumair@gnome.org>
+
+ * libnautilus-private/nautilus-autorun.c
+ (should_skip_native_mount_root), (should_autorun_mount):
+ Do not automount mount points inside hidden hierarchies (#524075).
+
2008-03-30 Christian Neumair <cneumair@gnome.org>
* src/file-manager/fm-properties-window.c
diff --git a/libnautilus-private/nautilus-autorun.c b/libnautilus-private/nautilus-autorun.c
index 1bfb9353a..33b43c336 100644
--- a/libnautilus-private/nautilus-autorun.c
+++ b/libnautilus-private/nautilus-autorun.c
@@ -1396,6 +1396,20 @@ nautilus_inhibit_autorun_for_volume (GVolume *volume)
}
static gboolean
+should_skip_native_mount_root (GFile *root)
+{
+ char *path;
+ gboolean should_skip;
+
+ /* skip any mounts in hidden directory hierarchies */
+ path = g_file_get_path (root);
+ should_skip = strstr (path, "/.") != NULL;
+ g_free (path);
+
+ return should_skip;
+}
+
+static gboolean
should_autorun_mount (GMount *mount)
{
GFile *root, *file;
@@ -1435,7 +1449,7 @@ should_autorun_mount (GMount *mount)
/* only do autorun on local files or files where g_volume_should_automount() returns TRUE */
ignore_autorun = TRUE;
- if (g_file_is_native (root) ||
+ if ((g_file_is_native (root) && !should_skip_native_mount_root (root)) ||
(enclosing_volume != NULL && g_volume_should_automount (enclosing_volume))) {
ignore_autorun = FALSE;
}