pkgsrc-ng/mail/evolution-data-server/patches/patch-e_data_cal_factory_c
2016-11-18 22:39:22 +01:00

36 lines
1.2 KiB
Plaintext

$NetBSD: patch-e_data_cal_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)
--- calendar/libedata-cal/e-data-cal-factory.c.orig 2011-04-21 19:36:35.000000000 +0000
+++ calendar/libedata-cal/e-data-cal-factory.c
@@ -245,7 +245,7 @@ construct_cal_factory_path (void)
return g_strdup_printf (
"/org/gnome/evolution/dataserver/calendar/%d/%u",
- getpid (), g_atomic_int_exchange_and_add (&counter, 1));
+ getpid (), g_atomic_int_add (&counter, 1));
}
static gboolean
@@ -863,6 +863,12 @@ on_name_lost (GDBusConnection *connectio
g_list_foreach (copy, remove_data_cal_cb, NULL);
g_list_free (copy);
}
+
+ if (g_strcmp0 (name, E_DATA_CAL_FACTORY_SERVICE_NAME) == 0) {
+ g_print ("Quitting on the D-Bus name lost...\n");
+ g_main_loop_quit (loop);
+ }
+
}
gint