summaryrefslogtreecommitdiff
path: root/libcaja-private/caja-file-utilities.h
diff options
context:
space:
mode:
authorlukefromdc <[email protected]>2018-10-15 22:20:03 -0400
committerlukefromdc <[email protected]>2018-10-20 14:57:08 -0400
commit8fff655552209fd181f9608d02d0f72660b10768 (patch)
treee7cfe7fd6aaa2b31ee4d80095fd7376f3276ea88 /libcaja-private/caja-file-utilities.h
parent09146ca4fc0c504e75f39be16eefb29ddec5a8e9 (diff)
downloadcaja-8fff655552209fd181f9608d02d0f72660b10768.tar.bz2
caja-8fff655552209fd181f9608d02d0f72660b10768.tar.xz
monitor: watch for removal of non-native mounts on GVolumeMonitor
Fix https://github.com/mate-desktop/caja/issues/1066 "Caja caches folders from usb drives/disk" Nowadays, we rely on G_FILE_MONITOR_EVENT_UNMOUNTED to be emitted when a mount disappears, since we already monitor the directory, in order to switch the view to a different location. Since non-native mounts very likely won't have file monitoring though, we're not going to receive such events in that case, and fail to redirect the view as a consequence. This patch fixes it by listening to the mount-removed signal on GVolumeMonitor when a monitor is requested for a non-native mount, and emulating a file removal in that case. Backport Nautilus commit gitlab.gnome.org/GNOME/nautilus/commit/3891241ba760c59d284b7579dbd340651c8d4d29 note that caja_get_mounted_mount_for_root had to be added, while the equivalent Nautilus function was from a prior commit
Diffstat (limited to 'libcaja-private/caja-file-utilities.h')
-rw-r--r--libcaja-private/caja-file-utilities.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libcaja-private/caja-file-utilities.h b/libcaja-private/caja-file-utilities.h
index 370cec02..2306601f 100644
--- a/libcaja-private/caja-file-utilities.h
+++ b/libcaja-private/caja-file-utilities.h
@@ -47,6 +47,7 @@ gboolean caja_is_desktop_directory (GFile *dir);
gboolean caja_is_home_directory (GFile *dir);
gboolean caja_is_home_directory_file (GFile *dir,
const char *filename);
+GMount * caja_get_mounted_mount_for_root (GFile *location);
gboolean caja_is_in_system_dir (GFile *location);
char * caja_get_pixmap_directory (void);