aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog9
-rw-r--r--calendar/gui/gnome-cal.c10
2 files changed, 14 insertions, 5 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 6b49307166..085425344f 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,12 @@
+2002-06-17 Rodrigo Moya <rodrigo@ximian.com>
+
+ Fixes wombat crash (for JP and myself)
+
+ * gui/gnome-cal.c (gnome_calendar_open): don't call add_alarms here,
+ since the client is not yet attached to the backend, and the alarm
+ daemon does unref the client before creating a new one.
+ (client_cal_opened_cb): call add_alarms here.
+
2002-06-12 Rodrigo Moya <rodrigo@ximian.com>
* gui/alarm-notify.c: added timeout_id to LoadedClient structure, to
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index 5501744863..ff3f37dbc9 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -188,6 +188,7 @@ static void gnome_calendar_on_date_navigator_selection_changed (ECalendarItem
GnomeCalendar *gcal);
static void gnome_calendar_notify_dates_shown_changed (GnomeCalendar *gcal);
+static void add_alarms (const char *uri);
static void update_query (GnomeCalendar *gcal);
@@ -1568,6 +1569,9 @@ client_cal_opened_cb (CalClient *client, CalClientOpenStatus status, gpointer da
if (priv->zone) {
cal_client_set_default_timezone (client, priv->zone);
}
+
+ /* add the alarms for this client */
+ add_alarms (cal_client_get_uri (client));
break;
case CAL_CLIENT_OPEN_ERROR:
@@ -1923,8 +1927,6 @@ gnome_calendar_open (GnomeCalendar *gcal, const char *str_uri)
return FALSE;
}
- add_alarms (real_uri);
-
/* Open the appropriate Tasks folder to show in the TaskPad */
if (!uri) {
@@ -1946,9 +1948,7 @@ gnome_calendar_open (GnomeCalendar *gcal, const char *str_uri)
g_free (real_uri);
e_uri_free (uri);
- if (success)
- add_alarms (cal_client_get_uri (priv->task_pad_client));
- else {
+ if (!success) {
g_message ("gnome_calendar_open(): Could not issue the request");
return FALSE;
}