[evolution-patches] 52218 e_cal_get_free_busy in head



Here is a proposed patch for http://bugzilla.ximian.com/show_bug.cgi?
id=52218. Please ignore the bit in e-cal-listener.c, jpr already fixed
this, but I just did a cvs up and it still isn't in anoncvs.

-Gary
? 52218.patch
? config.guess
? config.sub
? ltmain.sh
? backends/groupwise/create-account
? backends/groupwise/soap-test
? libical/src/libicalss/icalsslexer.c
? libical/src/libicalss/icalssyacc.c
? libical/src/libicalss/icalssyacc.output
? libical/src/libicalvcal/vcc.c
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.61
diff -p -u -r1.61 ChangeLog
--- ChangeLog	14 Dec 2003 23:47:06 -0000	1.61
+++ ChangeLog	16 Dec 2003 05:09:47 -0000
@@ -1,3 +1,10 @@
+2003-12-15  Gary Ekker   <gekker novell com>
+
+	* libecal/e-cal.c (e_cal_get_free_busy): don't treat the glist of
+	icalcomponents as a string
+
+	Fixes #52218
+	
 2003-12-14    <jpr ximian com>
 
 	* libecal/e-cal-component.c (set_datetime): don't remove and then
Index: libecal/e-cal-listener.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-listener.c,v
retrieving revision 1.3
diff -p -u -r1.3 e-cal-listener.c
--- libecal/e-cal-listener.c	10 Dec 2003 01:11:56 -0000	1.3
+++ libecal/e-cal-listener.c	16 Dec 2003 05:10:10 -0000
@@ -899,7 +899,7 @@ e_cal_listener_class_init (ECalListenerC
 			      G_STRUCT_OFFSET (ECalListenerClass, get_changes),
 			      NULL, NULL,
 			      e_cal_marshal_VOID__INT_POINTER,
-			      G_TYPE_NONE, 1, G_TYPE_INT, G_TYPE_POINTER);
+			      G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_POINTER);
 	signals[GET_FREE_BUSY] =
 		g_signal_new ("get_free_busy",
 			      G_TYPE_FROM_CLASS (klass),
@@ -907,7 +907,7 @@ e_cal_listener_class_init (ECalListenerC
 			      G_STRUCT_OFFSET (ECalListenerClass, get_free_busy),
 			      NULL, NULL,
 			      e_cal_marshal_VOID__INT_POINTER,
-			      G_TYPE_NONE, 1, G_TYPE_INT, G_TYPE_POINTER);
+			      G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_POINTER);
 	signals[QUERY] =
 		g_signal_new ("query",
 			      G_TYPE_FROM_CLASS (klass),
Index: libecal/e-cal.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal.c,v
retrieving revision 1.12
diff -p -u -r1.12 e-cal.c
--- libecal/e-cal.c	10 Dec 2003 06:16:23 -0000	1.12
+++ libecal/e-cal.c	16 Dec 2003 05:10:31 -0000
@@ -2459,32 +2459,7 @@ e_cal_get_free_busy (ECal *ecal, GList *
 	g_cond_wait (our_op->cond, our_op->mutex);
 
 	status = our_op->status;
-
-	*freebusy = NULL;
-	for (l = our_op->list; l; l = l->next) {
-		ECalComponent *comp;
-
-		icalcomponent *icalcomp;
-		icalcomponent_kind kind;
-
-		icalcomp = icalparser_parse_string (l->data);
-		if (!icalcomp)
-			continue;
-
-		kind = icalcomponent_isa (icalcomp);
-		if (kind == ICAL_VFREEBUSY_COMPONENT) {
-			comp = e_cal_component_new ();
-			if (!e_cal_component_set_icalcomponent (comp, icalcomp)) {
-				icalcomponent_free (icalcomp);
-				g_object_unref (G_OBJECT (comp));
-				continue;
-			}
-
-			*freebusy = g_list_append (*freebusy, comp);
-		}
-		else
-			icalcomponent_free (icalcomp);
-	}
+	*freebusy = our_op->list;
 
 	e_calendar_remove_op (ecal, our_op);
 	g_mutex_unlock (our_op->mutex);


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