diff options
Diffstat (limited to 'calendar')
-rw-r--r-- | calendar/ChangeLog | 9 | ||||
-rw-r--r-- | calendar/gui/alarm-notify/alarm-queue.c | 22 |
2 files changed, 14 insertions, 17 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index b6e5296c95..23cf94c1ee 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,12 @@ +2003-05-12 Rodrigo Moya <rodrigo@ximian.com> + + Fixes #41760 + + * gui/alarm-notify/alarm-queue.c (create_snooze): don't add a new + alarm, but update the already existing one. + (notify_dialog_cb): make sure we don't remove the alarm if we are + snoozing. + 2003-05-07 JP Rosevear <jpr@ximian.com> * gui/dialogs/task-page.glade: fix button conversion problem diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c index 9aff1a8bf0..eefd954f15 100644 --- a/calendar/gui/alarm-notify/alarm-queue.c +++ b/calendar/gui/alarm-notify/alarm-queue.c @@ -580,8 +580,7 @@ obj_removed_cb (CalClient *client, const char *uid, gpointer data) static void create_snooze (CompQueuedAlarms *cqa, gpointer alarm_id, int snooze_mins) { - QueuedAlarm *orig_qa, *qa; - CalAlarmInstance *instance; + QueuedAlarm *orig_qa; time_t t; gpointer new_id; @@ -599,20 +598,9 @@ create_snooze (CompQueuedAlarms *cqa, gpointer alarm_id, int snooze_mins) return; } - instance = g_new (CalAlarmInstance, 1); - instance->auid = orig_qa->instance->auid; - instance->trigger = t; - instance->occur_start = orig_qa->instance->occur_start; - instance->occur_end = orig_qa->instance->occur_end; - - cqa->alarms->alarms = g_slist_prepend (cqa->alarms->alarms, instance); - - qa = g_new (QueuedAlarm, 1); - qa->alarm_id = new_id; - qa->instance = instance; - qa->snooze = TRUE; - - cqa->queued_alarms = g_slist_prepend (cqa->queued_alarms, qa); + orig_qa->instance->trigger = t; + orig_qa->alarm_id = new_id; + orig_qa->snooze = TRUE; } /* Launches a component editor for a component */ @@ -707,7 +695,7 @@ notify_dialog_cb (AlarmNotifyResult result, int snooze_mins, gpointer data) switch (result) { case ALARM_NOTIFY_SNOOZE: create_snooze (c->cqa, c->alarm_id, snooze_mins); - break; + return; case ALARM_NOTIFY_EDIT: edit_component (c->client, c->comp); |