e9af85216f
- Recognize gphoto2 cameras which don't implement get storageinfo (#552856) - ObexFTP: Use a private D-Bus connection for obex-data-server (#539347)
48 lines
1.6 KiB
Diff
48 lines
1.6 KiB
Diff
From 56c3b9cf90bfd53a699b5951677fee9f83b26c2f Mon Sep 17 00:00:00 2001
|
|
From: Bastien Nocera <hadess@hadess.net>
|
|
Date: Thu, 07 Jan 2010 18:08:00 +0000
|
|
Subject: [obexftp] Use a private D-Bus connection for obex-data-server
|
|
|
|
So as to avoid gvfs and our backend fighting over the session
|
|
bus connection, and causing crashers.
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=570366
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=539347
|
|
---
|
|
diff --git a/daemon/gvfsbackendobexftp.c b/daemon/gvfsbackendobexftp.c
|
|
index eb1b43b..8dc8bdf 100644
|
|
--- a/daemon/gvfsbackendobexftp.c
|
|
+++ b/daemon/gvfsbackendobexftp.c
|
|
@@ -502,9 +502,28 @@ g_vfs_backend_obexftp_finalize (GObject *object)
|
|
static void
|
|
g_vfs_backend_obexftp_init (GVfsBackendObexftp *backend)
|
|
{
|
|
+ DBusConnection *conn;
|
|
+ DBusGConnection *connection;
|
|
+ DBusError error;
|
|
GError *err = NULL;
|
|
|
|
- backend->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &err);
|
|
+ /* Otherwise dbus-glib doesn't setup it value types */
|
|
+ connection = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
|
|
+
|
|
+ if (connection != NULL)
|
|
+ dbus_g_connection_unref (connection);
|
|
+
|
|
+ /* Connect to the session bus via a private connection */
|
|
+ dbus_error_init (&error);
|
|
+ conn = dbus_bus_get_private (DBUS_BUS_SESSION, &error);
|
|
+ if (conn == NULL) {
|
|
+ g_printerr ("Connecting to session bus failed: %s\n", err->message);
|
|
+ dbus_error_free (&error);
|
|
+ return;
|
|
+ }
|
|
+ dbus_connection_setup_with_g_main (conn, NULL);
|
|
+
|
|
+ backend->connection = dbus_connection_get_g_connection (conn);
|
|
if (backend->connection == NULL) {
|
|
g_printerr ("Connecting to session bus failed: %s\n", err->message);
|
|
g_error_free (err);
|
|
--
|
|
cgit v0.8.3.1
|