GtkPlacesView: check for network:// URI support before using it

Specifically, this URI is not supported on Windows, but GFile will
do its "best" and turn it into GLocalFile("$pwd/network"), with
spectacularly bad results.

https://bugzilla.gnome.org/show_bug.cgi?id=765858
This commit is contained in:
Руслан Ижбулатов 2016-05-01 19:00:25 +00:00
parent cb6b5e4017
commit bab628beb2

View File

@ -19,6 +19,7 @@
#include "config.h"
#include <gio/gio.h>
#include <gio/gvfs.h>
#include <gtk/gtk.h>
#include "gtkintl.h"
@ -1004,8 +1005,19 @@ fetch_networks (GtkPlacesView *view)
{
GtkPlacesViewPrivate *priv;
GFile *network_file;
const gchar * const *supported_uris;
gboolean found;
priv = gtk_places_view_get_instance_private (view);
supported_uris = g_vfs_get_supported_uri_schemes (g_vfs_get_local ());
for (found = FALSE; !found && supported_uris && supported_uris[0]; supported_uris++)
if (g_strcmp0 (supported_uris[0], "network") == 0)
found = TRUE;
if (!found)
return;
network_file = g_file_new_for_uri ("network:///");
g_cancellable_cancel (priv->networks_fetching_cancellable);