aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/alarm-notify/alarm-queue.c13
-rw-r--r--calendar/gui/alarm-notify/notify-main.c4
2 files changed, 16 insertions, 1 deletions
diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c
index cee17bd97e..774604c804 100644
--- a/calendar/gui/alarm-notify/alarm-queue.c
+++ b/calendar/gui/alarm-notify/alarm-queue.c
@@ -1122,6 +1122,18 @@ alarm_queue_init (void)
alarm_queue_inited = TRUE;
}
+static void
+free_client_alarms_cb (gpointer key, gpointer value, gpointer user_data)
+{
+ CalClient *client = key;
+ ClientAlarms *ca = value;
+
+ if (ca) {
+ g_object_unref (ca->client);
+ g_free (ca);
+ }
+}
+
/**
* alarm_queue_done:
*
@@ -1137,6 +1149,7 @@ alarm_queue_done (void)
/* All clients must be unregistered by now */
g_return_if_fail (g_hash_table_size (client_alarms_hash) == 0);
+ g_hash_table_foreach (client_alarms_hash, (GHFunc) free_client_alarms_cb, NULL);
g_hash_table_destroy (client_alarms_hash);
client_alarms_hash = NULL;
diff --git a/calendar/gui/alarm-notify/notify-main.c b/calendar/gui/alarm-notify/notify-main.c
index d58b5f9e4a..bed7de3653 100644
--- a/calendar/gui/alarm-notify/notify-main.c
+++ b/calendar/gui/alarm-notify/notify-main.c
@@ -34,7 +34,6 @@
#include <bonobo/bonobo-main.h>
#include <bonobo/bonobo-generic-factory.h>
#include <bonobo-activation/bonobo-activation.h>
-#include <gtk/gtkmain.h>
#include "alarm.h"
#include "alarm-queue.h"
#include "alarm-notify.h"
@@ -198,6 +197,9 @@ main (int argc, char **argv)
alarm_queue_done ();
alarm_done ();
+ if (alarm_notify_service)
+ bonobo_object_unref (BONOBO_OBJECT (alarm_notify_service));
+
gnome_sound_shutdown ();
gnome_vfs_shutdown ();