[evolution-patches] revised fix for bug #306017



Sorry. Forgot attaching the fix in previous mail.

____________________

hi,

made the changes suggested.
plz review.

regards.

Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2782
diff -u -p -r1.2782 ChangeLog
--- ChangeLog	29 Jul 2005 05:10:11 -0000	1.2782
+++ ChangeLog	3 Aug 2005 03:24:01 -0000
@@ -1,5 +1,11 @@
-2005-07-29  Chenthill Palanisamy  <pchenthill novell com>
+2005-08-03  P. S. Chakravarthi	<pchakravarthi novell com>
+
+	Fixes #306017
+	* gui/e-calendar-view.c: (e_calendar_view_delete_selected_occurrence):
+	Obtain the default zone information from cal-view and eventually use it to 
+	determine the correct rid for an all-day event.
 
+2005-07-29  Chenthill Palanisamy  <pchenthill novell com>
 
 	* gui/e-day-view.c: (e_day_view_update_event_label),
 	(e_day_view_update_long_event_label):
Index: gui/e-calendar-view.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-view.c,v
retrieving revision 1.88
diff -u -p -r1.88 e-calendar-view.c
--- gui/e-calendar-view.c	25 Jul 2005 04:55:59 -0000	1.88
+++ gui/e-calendar-view.c	3 Aug 2005 03:24:02 -0000
@@ -923,7 +923,7 @@ e_calendar_view_delete_selected_occurren
 	ECalComponent *comp;
 	struct icaltimetype itt;
 	ECalComponentDateTime dt;
-	icaltimezone *zone;
+	icaltimezone *zone = NULL;
 		
 	selected = e_calendar_view_get_selected_events (cal_view);
 	if (!selected)
@@ -936,15 +936,23 @@ e_calendar_view_delete_selected_occurren
 	e_cal_component_get_uid (comp, &uid);
 
 	e_cal_component_get_dtstart (comp, &dt);
-	e_cal_get_timezone (event->comp_data->client, dt.tzid, &zone, NULL);
 
-	if (!e_cal_get_recurrences_no_master (event->comp_data->client)) {
-		if (zone)
-			itt = icaltime_from_timet_with_zone (event->comp_data->instance_start, TRUE, zone);
-		else
-			itt = icaltime_from_timet (event->comp_data->instance_start, TRUE);
+	if (dt.tzid) {
+		GError *error = NULL;
+
+		e_cal_get_timezone (event->comp_data->client, dt.tzid, &zone, &error);
+		if (error) {
+			zone = e_calendar_view_get_timezone (cal_view);	
+			g_clear_error(&error);
+		}
+	} else 
+		zone = e_calendar_view_get_timezone (cal_view);
+
+	itt = icaltime_from_timet_with_zone (event->comp_data->instance_start, TRUE, zone ? zone : icaltimezone_get_utc_timezone ());
+
+	if (!e_cal_get_recurrences_no_master (event->comp_data->client)) 
 		rid = icaltime_as_ical_string (itt);
-	} else
+	else
 		rid = e_cal_component_get_recurid_as_string (comp);
 
 	e_cal_component_free_datetime (&dt);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]