diff options
-rw-r--r-- | gtk/gtkpathbar.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index 99d5282888..9d1e497491 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -1729,6 +1729,20 @@ gtk_path_bar_set_file_finish (struct SetFileInfo *info, g_free (info); } +static gboolean +is_local (GFile *file) +{ + gchar *path; + + path = g_file_get_path (file); + if (path == NULL) + return FALSE; + + g_free (path); + + return TRUE; +} + static void gtk_path_bar_get_info_callback (GCancellable *cancellable, GFileInfo *info, @@ -1789,6 +1803,8 @@ gtk_path_bar_get_info_callback (GCancellable *cancellable, } file_info->parent_file = g_file_get_parent (file_info->file); + if (!is_local (file_info->parent_file)) + g_clear_object (&file_info->parent_file); /* Recurse asynchronously */ file_info->path_bar->priv->get_info_cancellable = |