[evolution-patches] fix for the bug #313112 [calendar]



Hi, 
  Have attached the fix for the bug. Remove the event if it is detached.

thanks, Chenthill.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2926
diff -u -p -u -p -r1.2926 ChangeLog
--- ChangeLog	10 Jan 2006 08:08:20 -0000	1.2926
+++ ChangeLog	12 Jan 2006 14:28:05 -0000
@@ -1,3 +1,18 @@
+2006-01-14  Chenthill Palanisamy  <pchenthill novell com>
+
+	Fixes #313112
+	* gui/e-calendar-view.c: (on_unrecur_appointment):
+	Remove the old instance if its a detached instance.
+
+2006-01-14  Chenthill Palanisamy  <pchenthill novell com>
+
+	Fixes #271541
+	* calendar.error.xml: Added a new message for displaying 
+	error message while trying to create a new event in read only
+	calendars
+	* gui/e-calendar-view.c: (e_calendar_view_new_appointment_for):
+	Run the error dialog using the message.
+
 2006-01-10  Simon Zheng  <simon zheng sun com>
 
 	* gui/calendar-component.c: (calendar_component_peek):
Index: gui/e-calendar-view.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-view.c,v
retrieving revision 1.108
diff -u -p -u -p -r1.108 e-calendar-view.c
--- gui/e-calendar-view.c	2 Jan 2006 14:12:39 -0000	1.108
+++ gui/e-calendar-view.c	12 Jan 2006 14:28:06 -0000
@@ -1449,9 +1449,12 @@ on_unrecur_appointment (EPopup *ep, EPop
 
 	comp = e_cal_component_new ();
 	e_cal_component_set_icalcomponent (comp, icalcomponent_new_clone (event->comp_data->icalcomp));
-	e_cal_component_set_recurid (comp, NULL);
-	cal_comp_util_add_exdate (comp, event->comp_data->instance_start, e_calendar_view_get_timezone (cal_view));
-	e_cal_component_commit_sequence (comp);
+	
+	if (e_cal_component_has_recurrences (comp)) {
+		e_cal_component_set_recurid (comp, NULL);
+		cal_comp_util_add_exdate (comp, event->comp_data->instance_start, e_calendar_view_get_timezone (cal_view));
+		e_cal_component_commit_sequence (comp);
+	}
 
 	/* For the unrecurred instance we duplicate the original object,
 	   create a new uid for it, get rid of the recurrence rules, and set
@@ -1482,8 +1485,16 @@ on_unrecur_appointment (EPopup *ep, EPop
 	/* Now update both ECalComponents. Note that we do this last since at
 	 * present the updates happen synchronously so our event may disappear.
 	 */
+	if (e_cal_component_has_recurrences (comp)) {
 	if (!e_cal_modify_object (client, e_cal_component_get_icalcomponent (comp), CALOBJ_MOD_ALL, NULL))
 		g_message ("on_unrecur_appointment(): Could not update the object!");
+	} else {
+		ECalComponentId *id = e_cal_component_get_id (comp);
+		
+		if (!e_cal_remove_object_with_mod (client, id->uid, id->rid, CALOBJ_MOD_THIS,
+					NULL));
+			g_message ("on_unrecur_appointment(): Could not remove the old object!");
+	}
 
 	g_object_unref (comp);
 
	


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