aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/alarm-notify/notify-main.c
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@ximian.com>2002-08-26 23:56:05 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2002-08-26 23:56:05 +0800
commit4e8966108728859537ec045decb368251bf078dc (patch)
tree17066ea78b122d70ec7deb6594cd33d828c0d18b /calendar/gui/alarm-notify/notify-main.c
parentf95a4634519d4e41c4d1f29ab4f6cf0503a37995 (diff)
downloadgsoc2013-evolution-4e8966108728859537ec045decb368251bf078dc.tar
gsoc2013-evolution-4e8966108728859537ec045decb368251bf078dc.tar.gz
gsoc2013-evolution-4e8966108728859537ec045decb368251bf078dc.tar.bz2
gsoc2013-evolution-4e8966108728859537ec045decb368251bf078dc.tar.lz
gsoc2013-evolution-4e8966108728859537ec045decb368251bf078dc.tar.xz
gsoc2013-evolution-4e8966108728859537ec045decb368251bf078dc.tar.zst
gsoc2013-evolution-4e8966108728859537ec045decb368251bf078dc.zip
Fixes #12326
2002-08-26 Rodrigo Moya <rodrigo@ximian.com> Fixes #12326 * gui/alarm-notify/config-data.c (ensure_inited): create a EConfigListener for configuration access. (do_cleanup): g_atexit installed function, to clean up configuration database resources. (config_data_get_timezone): retrieve the configuration for the EConfigListener object. (config_data_get_listener): new function. * gui/alarm-notify/save.c (get_config_db, discard_config_db): removed. Use EConfigListener instead. (save_notification_time, get_saved_notification_time, save_calendars_to_load, get_calendars_to_load, save_blessed_program, is_blessed_program): use EConfigListener. * gui/alarm-notify/notify-main.c (init_alarm_notify_service): removed. (alarm_notify_factory_fn): create here the alarm_notify_service if it hasn't been created yet. (load_calendars): likewise. (main): don't call init_alarm_notify_service. svn path=/trunk/; revision=17859
Diffstat (limited to 'calendar/gui/alarm-notify/notify-main.c')
-rw-r--r--calendar/gui/alarm-notify/notify-main.c30
1 files changed, 14 insertions, 16 deletions
diff --git a/calendar/gui/alarm-notify/notify-main.c b/calendar/gui/alarm-notify/notify-main.c
index 06fe87b611..b7364475ca 100644
--- a/calendar/gui/alarm-notify/notify-main.c
+++ b/calendar/gui/alarm-notify/notify-main.c
@@ -43,7 +43,7 @@ static GnomeClient *master_client = NULL;
static BonoboGenericFactory *factory;
-static AlarmNotify *alarm_notify_service;
+static AlarmNotify *alarm_notify_service = NULL;
/* Callback for the master client's "die" signal. We must terminate the daemon
@@ -86,16 +86,6 @@ set_session_parameters (char **argv)
GTK_SIGNAL_FUNC (client_die_cb), NULL);
}
-/* Creates the singleton alarm notify service object */
-static gboolean
-init_alarm_notify_service (void)
-{
- g_assert (alarm_notify_service == NULL);
-
- alarm_notify_service = alarm_notify_new ();
- return (alarm_notify_service != NULL);
-}
-
/* Factory function for the alarm notify service; just creates and references a
* singleton service object.
*/
@@ -104,6 +94,11 @@ alarm_notify_factory_fn (BonoboGenericFactory *factory, void *data)
{
g_assert (alarm_notify_service != NULL);
+ if (!alarm_notify_service) {
+ alarm_notify_service = alarm_notify_new ();
+ g_assert (alarm_notify_service != NULL);
+ }
+
bonobo_object_ref (BONOBO_OBJECT (alarm_notify_service));
return BONOBO_OBJECT (alarm_notify_service);
}
@@ -115,6 +110,14 @@ load_calendars (gpointer user_data)
GPtrArray *uris;
int i;
+ alarm_queue_init ();
+
+ /* create the alarm notification service */
+ if (!alarm_notify_service) {
+ alarm_notify_service = alarm_notify_new ();
+ g_assert (alarm_notify_service != NULL);
+ }
+
uris = get_calendars_to_load ();
if (!uris) {
g_message ("load_calendars(): Could not get the list of calendars to load");
@@ -177,11 +180,6 @@ main (int argc, char **argv)
glade_gnome_init ();
- alarm_queue_init ();
-
- if (!init_alarm_notify_service ())
- g_error (_("Could not create the alarm notify service"));
-
factory = bonobo_generic_factory_new ("OAFIID:GNOME_Evolution_Calendar_AlarmNotify_Factory",
alarm_notify_factory_fn, NULL);
if (!factory)