evolution-data-server r9826 - in trunk/addressbook: . libedata-book



Author: sragavan
Date: Mon Dec 15 06:07:30 2008
New Revision: 9826
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9826&view=rev

Log:
2008-12-15  Srinivasa Ragavan  <sragavan novell com>

	** Fix for BNC bug #455939

	* libedata-book/e-book-backend.c: (idle_remove_client),
	(listener_died_cb): Don't do orbit broken connection on the same
	thread, idle them away.


Modified:
   trunk/addressbook/ChangeLog
   trunk/addressbook/libedata-book/e-book-backend.c

Modified: trunk/addressbook/libedata-book/e-book-backend.c
==============================================================================
--- trunk/addressbook/libedata-book/e-book-backend.c	(original)
+++ trunk/addressbook/libedata-book/e-book-backend.c	Mon Dec 15 06:07:30 2008
@@ -476,12 +476,21 @@
 	e_book_backend_remove_client (backend, (EDataBook *)where_book_was);
 }
 
-static void
-listener_died_cb (gpointer cnx, gpointer user_data)
+static gboolean
+idle_remove_client (gpointer data)
 {
-	EDataBook *book = E_DATA_BOOK (user_data);
+	EDataBook *book = (EDataBook *) data;
 
 	e_book_backend_remove_client (e_data_book_get_backend (book), book);
+	g_object_unref ((GObject *) book);
+
+	return FALSE;
+}
+static void
+listener_died_cb (gpointer cnx, gpointer user_data)
+{
+	g_object_ref ((GObject *)user_data);
+	g_idle_add (idle_remove_client, user_data);
 }
 
 static void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]