diff options
author | António Fernandes <antoniof@gnome.org> | 2023-04-29 22:30:36 +0000 |
---|---|---|
committer | António Fernandes <antoniof@gnome.org> | 2023-04-29 22:30:36 +0000 |
commit | fc2669f63c5def1528dda2e7833db5774aa08e22 (patch) | |
tree | 067a8eafbd35e590f2d17de0aaeb31ae557403d0 | |
parent | 7140cdfaab5cbd4f594da4adf6ed6f98cecf3979 (diff) | |
download | gvfs-fc2669f63c5def1528dda2e7833db5774aa08e22.tar.gz |
mtp: Emit delete event on device when disconnected
Otherwise clients won't realize the root file is gone.
Related to https://gitlab.gnome.org/GNOME/nautilus/-/issues/371
-rw-r--r-- | daemon/gvfsbackendmtp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/daemon/gvfsbackendmtp.c b/daemon/gvfsbackendmtp.c index fd297be1..0bc35b7a 100644 --- a/daemon/gvfsbackendmtp.c +++ b/daemon/gvfsbackendmtp.c @@ -638,6 +638,11 @@ on_uevent (GUdevClient *client, gchar *action, GUdevDevice *device, gpointer use (char *)path); } + /* Finally, emit delete event to tell the clients the device root file is gone. */ + g_hash_table_foreach (op_backend->monitors, + emit_delete_event, + (char *)"/"); + op_backend->force_unmounted = TRUE; g_atomic_int_set (&op_backend->unmount_started, TRUE); g_vfs_backend_force_unmount ((GVfsBackend*)op_backend); |