Hello community, here is the log from the commit of package evolution checked in at Fri Jun 9 09:54:50 CEST 2006. -------- --- GNOME/evolution/evolution.changes 2006-06-08 11:45:00.000000000 +0200 +++ evolution/evolution.changes 2006-06-09 08:01:36.000000000 +0200 @@ -1,0 +2,5 @@ +Fri Jun 9 08:00:52 CEST 2006 - sragavan@novell.com + +- Updated the alarm code that fixes 6 alarm crashers. + +------------------------------------------------------------------- New: ---- fix-alarms-609.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ evolution.spec ++++++ --- /var/tmp/diff_new_pack.4rXQEx/_old 2006-06-09 09:54:10.000000000 +0200 +++ /var/tmp/diff_new_pack.4rXQEx/_new 2006-06-09 09:54:10.000000000 +0200 @@ -21,7 +21,7 @@ Autoreqprov: on Obsoletes: bonobo-conf Version: 2.6.0 -Release: 62 +Release: 64 Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution/2.6/%{name}-%{version}.tar.bz2 Source1: summerdance-about2.png @@ -104,6 +104,7 @@ Patch87: bnc-177986-evo-crash.diff Patch88: bnc-178778-evo-open-appt-crash.diff Patch89: evolution-translations-updated.diff +Patch90: fix-alarms-609.diff URL: http://gnome.org/projects/evolution/ BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: filesystem gconf2 shared-mime-info @@ -395,6 +396,7 @@ %patch87 %patch88 %patch89 +%patch90 %build rename no nb po/no.* @@ -516,6 +518,8 @@ %{prefix}/share/gnome-pilot/conduits/*.conduit %changelog -n evolution +* Fri Jun 09 2006 - sragavan@novell.com +- Updated the alarm code that fixes 6 alarm crashers. * Thu Jun 08 2006 - sragavan@novell.com - Updated translation fixes - Committed fix for bug 177986, which solves crash on drag and drop of files ++++++ fix-alarms-609.diff ++++++ Index: calendar/gui/alarm-notify/alarm-notify-dialog.c =================================================================== RCS file: /cvs/gnome/evolution/calendar/gui/alarm-notify/alarm-notify-dialog.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -p -r1.44 -r1.45 --- calendar/gui/alarm-notify/alarm-notify-dialog.c 8 Feb 2006 13:06:23 -0000 1.44 +++ calendar/gui/alarm-notify/alarm-notify-dialog.c 23 May 2006 08:24:52 -0000 1.45 @@ -74,6 +74,7 @@ typedef struct { GtkWidget *dialog; GtkWidget *snooze_time_min; GtkWidget *snooze_time_hrs; + GtkWidget *snooze_btn; GtkWidget *minutes_label; GtkWidget *hrs_label; GtkWidget *description; @@ -253,6 +259,7 @@ notified_alarms_dialog_new (void) an->treeview = glade_xml_get_widget (an->xml, "appointments-treeview"); an->scrolledwindow = glade_xml_get_widget (an->xml, "treeview-scrolledwindow"); snooze_btn = glade_xml_get_widget (an->xml, "snooze-button"); + an->snooze_btn = snooze_btn; edit_btn = glade_xml_get_widget (an->xml, "edit-button"); if (!(an->dialog && an->scrolledwindow && an->treeview && an->snooze_time_min && an->snooze_time_hrs @@ -396,13 +403,14 @@ tree_selection_changed_cb (GtkTreeSelect { GtkTreeModel *model; GtkTreeIter iter; - + AlarmNotify *an = user_data; + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { - AlarmNotify *an = user_data; gchar *summary, *description, *location; time_t occur_start, occur_end; - + + gtk_widget_set_sensitive (an->snooze_btn, TRUE); gtk_tree_model_get (model, &iter, ALARM_SUMMARY_COLUMN, &summary, -1); gtk_tree_model_get (model, &iter, ALARM_DESCRIPTION_COLUMN, &description, -1); gtk_tree_model_get (model, &iter, ALARM_LOCATION_COLUMN, &location, -1); @@ -411,6 +419,8 @@ tree_selection_changed_cb (GtkTreeSelect gtk_tree_model_get (model, &iter, ALARM_FUNCINFO_COLUMN, &an->cur_funcinfo, -1); fill_in_labels (an, summary, description, location, occur_start, occur_end); + } else { + gtk_widget_set_sensitive (an->snooze_btn, FALSE); } } Index: calendar/gui/alarm-notify/alarm-queue.c =================================================================== RCS file: /cvs/gnome/evolution/calendar/gui/alarm-notify/alarm-queue.c,v retrieving revision 1.100 diff -u -p -r1.100 alarm-queue.c --- calendar/gui/alarm-notify/alarm-queue.c 23 May 2006 08:24:52 -0000 1.100 +++ calendar/gui/alarm-notify/alarm-queue.c 9 Jun 2006 05:50:42 -0000 @@ -309,7 +309,7 @@ lookup_queued_alarm (CompQueuedAlarms *c /* Removes an alarm from the list of alarms of a component. If the alarm was * the last one listed for the component, it removes the component itself. */ -static void +static gboolean remove_queued_alarm (CompQueuedAlarms *cqa, gpointer alarm_id, gboolean free_object, gboolean remove_alarm) { @@ -325,7 +325,7 @@ remove_queued_alarm (CompQueuedAlarms *c } if (!l) - return; + return FALSE; cqa->queued_alarms = g_slist_delete_link (cqa->queued_alarms, l); @@ -343,7 +343,7 @@ remove_queued_alarm (CompQueuedAlarms *c */ if (cqa->queued_alarms != NULL) - return; + return FALSE; d(printf("%s:%d (remove_queued_alarm)) - Last Component. Removing CQA- Free=%d\n",__FILE__, __LINE__, free_object)); if (free_object) { @@ -355,6 +355,8 @@ remove_queued_alarm (CompQueuedAlarms *c e_cal_component_alarms_free (cqa->alarms); cqa->alarms = NULL; } + + return TRUE; } /* Callback used when an alarm triggers */ @@ -385,10 +387,8 @@ alarm_trigger_cb (gpointer alarm_id, tim */ alarm = e_cal_component_get_alarm (comp, qa->instance->auid); - g_assert (alarm != NULL); - - /* Show it independent of what the notification is?*/ - display_notification (trigger, cqa, alarm_id, TRUE); + if (!alarm) + return; e_cal_component_alarm_get_action (alarm, &action); e_cal_component_alarm_free (alarm); @@ -402,6 +402,7 @@ alarm_trigger_cb (gpointer alarm_id, tim #ifdef HAVE_LIBNOTIFY popup_notification (trigger, cqa, alarm_id, TRUE); #endif + display_notification (trigger, cqa, alarm_id, TRUE); break; case E_CAL_COMPONENT_ALARM_EMAIL: @@ -1119,11 +1120,15 @@ tray_list_remove_async(EThread *e, Alarm if (!tray_data->snooze_set){ GList *temp = list->next; + gboolean status; + tray_icons_list = g_list_remove_link (tray_icons_list, list); - remove_queued_alarm (tray_data->cqa, tray_data->alarm_id, FALSE, TRUE); - g_hash_table_remove (tray_data->cqa->parent_client->uid_alarms_hash, tray_data->cqa->id); - e_cal_component_free_id (tray_data->cqa->id); - g_free (tray_data->cqa); + status = remove_queued_alarm (tray_data->cqa, tray_data->alarm_id, FALSE, TRUE); + if (status) { + g_hash_table_remove (tray_data->cqa->parent_client->uid_alarms_hash, tray_data->cqa->id); + e_cal_component_free_id (tray_data->cqa->id); + g_free (tray_data->cqa); + } free_tray_icon_data (tray_data); tray_data = NULL; g_list_free_1 (list); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit-unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit-help@opensuse.org