[gtk/gtk-4-2: 34/91] placesview: Open location even if mount was not found




commit 0026f74dbebe827a8ee822cd76cd6198582abb71
Author: Ondrej Holy <oholy redhat com>
Date:   Tue Apr 13 15:55:19 2021 +0200

    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

 gtk/gtkplacesview.c | 9 +++++++++
 1 file changed, 9 insertions(+)
---
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);
+            }
         }
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]