You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.8 KiB
85 lines
2.8 KiB
7 years ago
|
From 6a62f4a28cc1457f489329ec115828d48db6c511 Mon Sep 17 00:00:00 2001
|
||
|
From: Ondrej Holy <oholy@redhat.com>
|
||
|
Date: Wed, 25 Jan 2017 15:14:52 +0100
|
||
|
Subject: [PATCH 2/2] client: Propagate error from create_mount_tracker_proxy
|
||
|
|
||
|
Prevent GDaemonFile methods failures without error being set.
|
||
|
|
||
|
https://bugzilla.gnome.org/show_bug.cgi?id=777737
|
||
|
---
|
||
|
client/gdaemonvfs.c | 19 ++++++++++---------
|
||
|
1 file changed, 10 insertions(+), 9 deletions(-)
|
||
|
|
||
|
diff --git a/client/gdaemonvfs.c b/client/gdaemonvfs.c
|
||
|
index 0cf11e6d..632538a1 100644
|
||
|
--- a/client/gdaemonvfs.c
|
||
|
+++ b/client/gdaemonvfs.c
|
||
|
@@ -41,6 +41,7 @@
|
||
|
#include <glib/gstdio.h>
|
||
|
#include <gvfsdbus.h>
|
||
|
#include "gvfsutils.h"
|
||
|
+#include "gvfsdaemondbus.h"
|
||
|
|
||
|
typedef struct {
|
||
|
char *type;
|
||
|
@@ -562,23 +563,23 @@ find_string (GPtrArray *array, const char *find_me)
|
||
|
}
|
||
|
|
||
|
static GVfsDBusMountTracker *
|
||
|
-create_mount_tracker_proxy ()
|
||
|
+create_mount_tracker_proxy (GError **error)
|
||
|
{
|
||
|
GVfsDBusMountTracker *proxy;
|
||
|
- GError *error;
|
||
|
+ GError *local_error;
|
||
|
|
||
|
- error = NULL;
|
||
|
+ local_error = NULL;
|
||
|
proxy = gvfs_dbus_mount_tracker_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
|
||
|
G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS | G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
|
||
|
G_VFS_DBUS_DAEMON_NAME,
|
||
|
G_VFS_DBUS_MOUNTTRACKER_PATH,
|
||
|
NULL,
|
||
|
- &error);
|
||
|
+ &local_error);
|
||
|
if (proxy == NULL)
|
||
|
{
|
||
|
g_warning ("Error creating proxy: %s (%s, %d)\n",
|
||
|
- error->message, g_quark_to_string (error->domain), error->code);
|
||
|
- g_error_free (error);
|
||
|
+ local_error->message, g_quark_to_string (local_error->domain), local_error->code);
|
||
|
+ _g_propagate_error_stripped (error, local_error);
|
||
|
}
|
||
|
|
||
|
return proxy;
|
||
|
@@ -599,7 +600,7 @@ fill_mountable_info (GDaemonVfs *vfs)
|
||
|
gint32 default_port;
|
||
|
gboolean host_is_inet;
|
||
|
|
||
|
- proxy = create_mount_tracker_proxy ();
|
||
|
+ proxy = create_mount_tracker_proxy (NULL);
|
||
|
if (proxy == NULL)
|
||
|
return;
|
||
|
|
||
|
@@ -948,7 +949,7 @@ _g_daemon_vfs_get_mount_info_sync (GMountSpec *spec,
|
||
|
if (info != NULL)
|
||
|
return info;
|
||
|
|
||
|
- proxy = create_mount_tracker_proxy ();
|
||
|
+ proxy = create_mount_tracker_proxy (error);
|
||
|
if (proxy == NULL)
|
||
|
return NULL;
|
||
|
|
||
|
@@ -980,7 +981,7 @@ _g_daemon_vfs_get_mount_info_by_fuse_sync (const char *fuse_path,
|
||
|
info = lookup_mount_info_by_fuse_path_in_cache (fuse_path);
|
||
|
if (!info)
|
||
|
{
|
||
|
- proxy = create_mount_tracker_proxy ();
|
||
|
+ proxy = create_mount_tracker_proxy (NULL);
|
||
|
if (proxy == NULL)
|
||
|
return NULL;
|
||
|
|
||
|
--
|
||
|
2.15.0
|
||
|
|