Re: [evolution-patches] 69272 - Calendar Crashing When Creating New Appointment



On Wed, 2005-03-23 at 12:04 -0500, JP Rosevear wrote:
> Happened if you created a new appointment from the mail component and
> the selected calendar was read only.

Oops, the patch.

-JP
-- 
JP Rosevear <jpr novell com>
Novell, Inc.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2680.2.10
diff -u -r1.2680.2.10 ChangeLog
--- ChangeLog	21 Mar 2005 09:08:17 -0000	1.2680.2.10
+++ ChangeLog	23 Mar 2005 17:02:59 -0000
@@ -1,3 +1,13 @@
+2005-03-23  JP Rosevear  <jpr novell com>
+
+	Fixes #69272
+	
+	* gui/comp-util.c (cal_comp_event_new_with_defaults): ensure we
+	always return a valid comp
+
+	* gui/comp-util.c (cal_comp_task_new_with_defaults): ditto; fix
+	obvious pasto that would cause a leak
+	
 2005-03-16  Li Yuan  <li yuan sun com>
 
 	* gui/print.c: (print_comp_item):
Index: gui/comp-util.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/comp-util.c,v
retrieving revision 1.26
diff -u -r1.26 comp-util.c
--- gui/comp-util.c	16 Jul 2004 14:30:49 -0000	1.26
+++ gui/comp-util.c	23 Mar 2005 17:03:00 -0000
@@ -256,13 +256,13 @@
 	ECalComponentAlarmTrigger trigger;
 
 	if (!e_cal_get_default_object (client, &icalcomp, NULL))
-		return NULL;
+		icalcomp = icalcomponent_new (ICAL_VEVENT_COMPONENT);
 
 	comp = e_cal_component_new ();
 	if (!e_cal_component_set_icalcomponent (comp, icalcomp)) {
-		g_object_unref (comp);
 		icalcomponent_free (icalcomp);
-		return NULL;
+
+		e_cal_component_set_new_vtype (comp, E_CAL_COMPONENT_EVENT);
 	}
 	
 	if (!calendar_config_get_use_default_reminder ())
@@ -358,21 +358,13 @@
 	icalcomponent *icalcomp;
 
 	if (!e_cal_get_default_object (client, &icalcomp, NULL))
-		return NULL;
-
+		icalcomp = icalcomponent_new (ICAL_VTODO_COMPONENT);
+	
 	comp = e_cal_component_new ();
 	if (!e_cal_component_set_icalcomponent (comp, icalcomp)) {
-		g_object_unref (comp);
 		icalcomponent_free (icalcomp);
 
-		return NULL;
-	}
-
-	comp = e_cal_component_new ();
-	if (!e_cal_component_set_icalcomponent (comp, icalcomp)) {
-		g_object_unref (comp);
-		icalcomponent_free (icalcomp);
-		return NULL;
+		e_cal_component_set_new_vtype (comp, E_CAL_COMPONENT_TODO);
 	}
 
 	return comp;


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