Blob Blame History Raw
diff -up evolution-3.8.5/calendar/alarm-notify/notify-main.c.restore-restarts-processes evolution-3.8.5/calendar/alarm-notify/notify-main.c
--- evolution-3.8.5/calendar/alarm-notify/notify-main.c.restore-restarts-processes	2013-07-23 14:52:26.000000000 +0200
+++ evolution-3.8.5/calendar/alarm-notify/notify-main.c	2014-12-05 10:34:21.187168876 +0100
@@ -46,6 +46,18 @@
 
 #include "e-util/e-util-private.h"
 
+#ifdef G_OS_UNIX
+#include <glib-unix.h>
+
+static gboolean
+handle_term_signal (gpointer data)
+{
+	g_application_quit (data);
+
+	return FALSE;
+}
+#endif
+
 gint
 main (gint argc,
       gchar **argv)
@@ -114,6 +126,12 @@ main (gint argc,
 		return 0;
 	}
 
+#ifdef G_OS_UNIX
+	g_unix_signal_add_full (
+		G_PRIORITY_DEFAULT, SIGTERM,
+		handle_term_signal, alarm_notify_service, NULL);
+#endif
+
 	exit_status = g_application_run (
 		G_APPLICATION (alarm_notify_service), argc, argv);
 
diff -up evolution-3.8.5/modules/backup-restore/evolution-backup-tool.c.restore-restarts-processes evolution-3.8.5/modules/backup-restore/evolution-backup-tool.c
--- evolution-3.8.5/modules/backup-restore/evolution-backup-tool.c.restore-restarts-processes	2013-07-23 14:51:42.000000000 +0200
+++ evolution-3.8.5/modules/backup-restore/evolution-backup-tool.c	2014-12-05 10:34:21.187168876 +0100
@@ -684,6 +684,9 @@ restore (const gchar *filename,
 	if (g_cancellable_is_cancelled (cancellable))
 		return;
 
+	/* Make full-restart background processes after restore */
+	run_cmd (EVOLUTION " --force-shutdown");
+
 	txt = _("Reloading registry service");
 
 	/* wait few seconds, till changes settle */
diff -up evolution-3.8.5/shell/killev.c.restore-restarts-processes evolution-3.8.5/shell/killev.c
--- evolution-3.8.5/shell/killev.c.restore-restarts-processes	2013-07-23 14:52:25.000000000 +0200
+++ evolution-3.8.5/shell/killev.c	2014-12-05 10:34:21.187168876 +0100
@@ -166,6 +166,10 @@ main (gint argc,
 kill:
 #ifdef KILL_PROCESS_CMD
 	system (KILL_PROCESS_CMD " -QUIT evolution 2> /dev/null");
+	system (KILL_PROCESS_CMD " -TERM evolution-alarm-notify 2> /dev/null");
+	system (KILL_PROCESS_CMD " -QUIT evolution-source-registry 2> /dev/null");
+	system (KILL_PROCESS_CMD " -QUIT evolution-addressbook-factory 2> /dev/null");
+	system (KILL_PROCESS_CMD " -QUIT evolution-calendar-factory 2> /dev/null");
 #else
 	g_printerr ("No \"kill\" command available.\n");
 #endif