From 2553511f4eaf4af8e48f21f4a3a0ac7c58defc8a Mon Sep 17 00:00:00 2001
From: Michael Kuhn <suraia@ikkoku.de>
Date: Wed, 22 Dec 2010 10:11:11 +0100
Subject: [PATCH] Bug 637561 - Crash when using
 G_DBUS_SERVER_FLAGS_RUN_IN_THREAD

https://bugzilla.gnome.org/show_bug.cgi?id=637561

Signed-off-by: David Zeuthen <davidz@redhat.com>
---
 gio/gdbusserver.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gio/gdbusserver.c b/gio/gdbusserver.c
index 9b5b8c3ba..964abe77f 100644
--- a/gio/gdbusserver.c
+++ b/gio/gdbusserver.c
@@ -979,11 +979,16 @@ on_run (GSocketService    *service,
 
   if (server->flags & G_DBUS_SERVER_FLAGS_RUN_IN_THREAD)
     {
+      gboolean claimed;
+
+      claimed = FALSE;
       g_signal_emit (server,
                      _signals[NEW_CONNECTION_SIGNAL],
                      0,
-                     connection);
-      g_dbus_connection_start_message_processing (connection);
+                     connection,
+                     &claimed);
+      if (claimed)
+        g_dbus_connection_start_message_processing (connection);
       g_object_unref (connection);
     }
   else