placesview: Open location even if mount was not found

Some locations have to be mounted, but their mounts are not user-visible
(e.g. smb-browse). Though this is maybe a bit weird, it is how it works
for years. The problem is that the commit 267ea755, which tries to get the
default location for opening, caused regression as it doesn't expect such
possibility. Before this commit, such locations were opened without any
issue, but nothing happens currently after clicking to "Connect" except of
clearing the "Connect to Server" entry. Let's fallback to the original
location if the mount was not found to fix this regression.

Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/1811
This commit is contained in:
Ondrej Holy 2021-04-13 15:55:19 +02:00
parent f5d90826f3
commit ddeabc7e19

View File

@ -1243,6 +1243,11 @@ server_mount_ready_cb (GObject *source_file,
GMount *mount;
GFile *root;
/*
* If the mount is not found at this point, it is probably user-
* invisible, which happens e.g for smb-browse, but the location
* should be opened anyway...
*/
mount = g_file_find_enclosing_mount (location, view->cancellable, NULL);
if (mount)
{
@ -1253,6 +1258,10 @@ server_mount_ready_cb (GObject *source_file,
g_object_unref (root);
g_object_unref (mount);
}
else
{
emit_open_location (view, location, view->open_flags);
}
}
}