$NetBSD: patch-e_data_book_factory_c,v 1.2 2016/01/31 07:01:55 richard Exp $ Replace deprecated g_atomic_int_exchange_and_add() 1886d3d0573388aa5c13af99f714687ba6a66ec6 The e-calendar-factory process did not terminate automatically when the user logged out of the graphical desktop environment, and e-calendar-factory thus redundantly consumed system resources. (https://bugzilla.redhat.com/show_bug.cgi?id=1141760 and upstream https://bugzilla.gnome.org/show_bug.cgi?id=646117) --- addressbook/libedata-book/e-data-book-factory.c.orig 2011-04-21 19:36:35.000000000 +0000 +++ addressbook/libedata-book/e-data-book-factory.c @@ -229,7 +229,7 @@ construct_book_factory_path (void) return g_strdup_printf ( "/org/gnome/evolution/dataserver/addressbook/%d/%u", - getpid (), g_atomic_int_exchange_and_add (&counter, 1)); + getpid (), g_atomic_int_add (&counter, 1)); } static gboolean @@ -569,6 +569,11 @@ on_name_lost (GDBusConnection *connectio } g_mutex_unlock (factory->priv->connections_lock); + if (g_strcmp0 (name, E_DATA_BOOK_FACTORY_SERVICE_NAME) == 0) { + g_print ("Quitting on the D-Bus name lost...\n"); + g_main_loop_quit (loop); + } + } gint