[evolution-kolab] ECalBackendKolab: return UID and object for newly created cal entries



commit e5070b78cc7e263720f1df3dd8b21c34f9c31689
Author: Christian Hilberg <hilberg kernelconcepts de>
Date:   Tue Sep 11 12:05:42 2012 +0200

    ECalBackendKolab: return UID and object for newly created cal entries
    
    * when creating new cal objects, return their
      UID and ECalComponent in the respective placeholders
      of create_objects()
    * this is now required, otherwise Evo will display
      an 'invalid argument' error popup

 src/calendar/e-cal-backend-kolab.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/src/calendar/e-cal-backend-kolab.c b/src/calendar/e-cal-backend-kolab.c
index 82590b2..6268a04 100644
--- a/src/calendar/e-cal-backend-kolab.c
+++ b/src/calendar/e-cal-backend-kolab.c
@@ -810,6 +810,7 @@ cal_backend_kolab_create_objects (ECalBackendSync *backend,
 	ECalComponent *ecalcomp = NULL;
 	ECalComponent *tzcomp = NULL;
 	const gchar *calobj = NULL;
+	const gchar *uid = NULL;
 	GError *tmp_err = NULL;
 	gboolean ok = FALSE;
 
@@ -902,7 +903,6 @@ cal_backend_kolab_create_objects (ECalBackendSync *backend,
 		return;
 	}
 
-	g_object_unref (ecalcomp);
 	if (tzcomp != NULL)
 		g_object_unref (tzcomp);
 
@@ -919,6 +919,9 @@ cal_backend_kolab_create_objects (ECalBackendSync *backend,
 	 *      a copy in *new_component (and set *uid) before returning
 	 *      from this function
 	 */
+	e_cal_component_get_uid (ecalcomp, &uid);
+	*uids = g_slist_prepend (*uids, g_strdup (uid));
+	*new_components = g_slist_prepend (*new_components, (gpointer) ecalcomp);
 }
 
 /**



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