diff options
author | Ondrej Holy <oholy@redhat.com> | 2020-09-25 16:12:18 +0200 |
---|---|---|
committer | Ondrej Holy <oholy@redhat.com> | 2020-12-08 12:56:05 +0100 |
commit | 906450614326b6d785b0ab5391b6c3b7d73571a3 (patch) | |
tree | 4f26a19ca0c8fceeb86c82e393a915366c43abbf /client/gdaemonfilemonitor.c | |
parent | 60ca0cea45fabf2b110f3ec2335f6d179ccf093c (diff) | |
download | gvfs-906450614326b6d785b0ab5391b6c3b7d73571a3.tar.gz |
client: Add fallback to session bus also for synchronous API
Asynchronous API fallbacks to session bus when peer-to-peer connection
fails, however, synchronous API fails in the same case. Let's add
fallback to session bus also for the synchronous case.
Diffstat (limited to 'client/gdaemonfilemonitor.c')
-rw-r--r-- | client/gdaemonfilemonitor.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/client/gdaemonfilemonitor.c b/client/gdaemonfilemonitor.c index 6c80c6ab..99e356af 100644 --- a/client/gdaemonfilemonitor.c +++ b/client/gdaemonfilemonitor.c @@ -181,9 +181,18 @@ g_daemon_file_monitor_new (const char *remote_id, if (connection == NULL) { g_dbus_error_strip_remote_error (error); - g_warning ("The peer-to-peer connection failed: %s. Your application is " - "probably missing --filesystem=xdg-run/gvfsd privileges.", - error->message); + g_warning ("The peer-to-peer connection failed: %s. Falling back to the " + "session bus. Your application is probably missing " + "--filesystem=xdg-run/gvfsd privileges.", error->message); + g_clear_error (&error); + + connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); + } + + if (connection == NULL) + { + g_printerr ("Error getting connection for monitoring: %s (%s, %d)\n", + error->message, g_quark_to_string (error->domain), error->code); g_error_free (error); } else |