aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/alarm-notify
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@ximian.com>2003-10-31 02:21:47 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2003-10-31 02:21:47 +0800
commitd436118b5f7c5bb7371f5f856b0e54197b60dd1f (patch)
tree48a07940ae51bdd11d2ce07c964911816840184a /calendar/gui/alarm-notify
parentdb189e01b0afab60c706bef82ee3e80ca1b817cd (diff)
downloadgsoc2013-evolution-d436118b5f7c5bb7371f5f856b0e54197b60dd1f.tar.gz
gsoc2013-evolution-d436118b5f7c5bb7371f5f856b0e54197b60dd1f.tar.zst
gsoc2013-evolution-d436118b5f7c5bb7371f5f856b0e54197b60dd1f.zip
use bonobo_main_quit, not gtk_main_quit.
2003-10-24 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-notify/notify-main.c (client_die_cb): use bonobo_main_quit, not gtk_main_quit. * gui/alarm-notify/alarm-queue.c (free_client_alarms_cb): callback for freeing ClientAlarms stored in the hash table. (alarm_queue_done): call free_client_alarms_cb() for each opened client. svn path=/trunk/; revision=23134
Diffstat (limited to 'calendar/gui/alarm-notify')
-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 ();