summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2021-04-13 15:55:19 +0200
committerOndrej Holy <oholy@redhat.com>2021-04-13 17:33:03 +0200
commitddeabc7e19e0e0e18acd842fa28dc9319b3a94cf (patch)
tree961de0603e2b26ebab47c0ac78cfe1ee60ba21e8
parentf5d90826f32ef081bf1a32130ba7cfdf94825ec4 (diff)
downloadgtk+-wip/oholy/placesview-default-location-regression.tar.gz
placesview: Open location even if mount was not foundwip/oholy/placesview-default-location-regression
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
-rw-r--r--gtk/gtkplacesview.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gtk/gtkplacesview.c b/gtk/gtkplacesview.c
index 416bffbe8a..853c135f8b 100644
--- a/gtk/gtkplacesview.c
+++ b/gtk/gtkplacesview.c
@@ -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);
+ }
}
}