- Only show mounts in /media and inside $HOME (#442189)
This commit is contained in:
parent
01e4363df3
commit
f9f897b59c
78
gvfs-0.2.2-only-show-allowed-mounts.patch
Normal file
78
gvfs-0.2.2-only-show-allowed-mounts.patch
Normal file
@ -0,0 +1,78 @@
|
||||
Index: hal/ghalvolumemonitor.c
|
||||
===================================================================
|
||||
--- hal/ghalvolumemonitor.c (revision 1736)
|
||||
+++ hal/ghalvolumemonitor.c (working copy)
|
||||
@@ -845,6 +845,32 @@
|
||||
}
|
||||
|
||||
static gboolean
|
||||
+should_mount_be_ignored (HalPool *pool, HalDevice *d)
|
||||
+{
|
||||
+ const char *device_mount_point;
|
||||
+
|
||||
+ device_mount_point = hal_device_get_property_string (d, "volume.mount_point");
|
||||
+ if (device_mount_point != NULL && strlen (device_mount_point) > 0)
|
||||
+ {
|
||||
+ GUnixMountEntry *mount_entry;
|
||||
+
|
||||
+ /*g_warning ("device_mount_point = '%s'", device_mount_point);*/
|
||||
+
|
||||
+ mount_entry = g_unix_mount_at (device_mount_point, NULL);
|
||||
+ if (mount_entry != NULL) {
|
||||
+ if (!g_unix_mount_guess_should_display (mount_entry))
|
||||
+ {
|
||||
+ g_unix_mount_free (mount_entry);
|
||||
+ return TRUE;
|
||||
+ }
|
||||
+ g_unix_mount_free (mount_entry);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
should_volume_be_ignored (HalPool *pool, HalDevice *d, GList *fstab_mount_points)
|
||||
{
|
||||
gboolean volume_ignore;
|
||||
@@ -893,6 +919,9 @@
|
||||
if (mount_point != NULL && !_g_unix_mount_point_guess_should_display (mount_point))
|
||||
return TRUE;
|
||||
|
||||
+ if (hal_device_get_property_bool (d, "volume.is_mounted"))
|
||||
+ return should_mount_be_ignored (pool, d);
|
||||
+
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -1207,13 +1236,29 @@
|
||||
{
|
||||
GList *new_mounts;
|
||||
GList *removed, *added;
|
||||
- GList *l;
|
||||
+ GList *l, *ll;
|
||||
GHalMount *mount;
|
||||
GHalVolume *volume;
|
||||
const char *device_path;
|
||||
const char *mount_path;
|
||||
|
||||
new_mounts = g_unix_mounts_get (NULL);
|
||||
+
|
||||
+ /* remove mounts we want to ignore - we do it here so we get to reevaluate
|
||||
+ * on the next update whether they should still be ignored
|
||||
+ */
|
||||
+ for (l = new_mounts; l != NULL; l = ll)
|
||||
+ {
|
||||
+ GUnixMountEntry *mount_entry = l->data;
|
||||
+ ll = l->next;
|
||||
+
|
||||
+ /* keep in sync with should_mount_be_ignored() */
|
||||
+ if (!g_unix_mount_guess_should_display (mount_entry))
|
||||
+ {
|
||||
+ g_unix_mount_free (mount_entry);
|
||||
+ new_mounts = g_list_delete_link (new_mounts, l);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
new_mounts = g_list_sort (new_mounts, (GCompareFunc) g_unix_mount_compare);
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: Backends for the gio framework in GLib
|
||||
Name: gvfs
|
||||
Version: 0.2.3
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
License: LGPLv2+
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.gtk.org
|
||||
@ -36,6 +36,7 @@ BuildRequires: libtool
|
||||
Patch1: gvfs-0.2.2-archive-integration.patch
|
||||
Patch2: gvfs-64clean.patch
|
||||
Patch3: regexxer-crash.patch
|
||||
Patch4: gvfs-0.2.2-only-show-allowed-mounts.patch
|
||||
|
||||
%description
|
||||
The gvfs package provides backend implementations for the gio
|
||||
@ -67,6 +68,7 @@ to access the gvfs filesystems.
|
||||
%patch1 -p0 -b .archive-integration
|
||||
%patch2 -p1 -b .64clean
|
||||
%patch3 -p1 -b .regexxer-crash
|
||||
%patch4 -p0 -b .only-show-allowed-mounts
|
||||
|
||||
%build
|
||||
|
||||
@ -180,6 +182,9 @@ update-desktop-database &> /dev/null ||:
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Apr 16 2008 David Zeuthen <davidz@redhat.com> - 0.2.3-4
|
||||
- Only show mounts in /media and inside $HOME (#442189)
|
||||
|
||||
* Mon Apr 14 2008 Matthias Clasen <mclasen@redhat.com> - 0.2.3-3
|
||||
- Fix a bug that causes application crashes (#441084)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user