Re: [evolution-data-server] fix for 335225, Move appointment to contact folder causes Evolution to hang, evolution-data-server to creash

Irene Huang <[email protected]>
Newsgroups gmane.comp.gnome.evolution.patches
Message-ID <[email protected]>
Hi, chen

Thanks for your advice :) 

here's the updated patch, please review :) 

--Irene

On Tue, 2006-03-28 at 00:17 +0530, pchenthill wrote:
> Hi Irene,
>     The warning happens because there is not virtual method
> implemented in the derived class. I think the right fix is,  to create
> it and return an error message which would comply with all the other
> API implementations.
> 
> thanks, Chenthill.
> 
> On Tue, 2006-03-21 at 09:58 +0800, Irene Huang wrote: 
> > hi, 
> > 
> > This patch is for fixing 335225, Move appointment to contact folder
> > causes Evolution to hang, evolution-data-server to creash.
> > 
> > Please review 
> > 
> > Thanks
> > 
> > --Irene
> > _______________________________________________
> > Evolution-patches mailing list
> > [email protected]
> > http://mail.gnome.org/mailman/listinfo/evolution-patches

_______________________________________________
Evolution-patches mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/evolution-patches
335225-eds-create-obj-contacts-critical-crash-4-4.diff (text/x-patch, 2.2 KB)
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.574
diff -u -r1.574 ChangeLog
--- ChangeLog	3 Apr 2006 08:36:42 -0000	1.574
+++ ChangeLog	4 Apr 2006 04:19:54 -0000
@@ -1,3 +1,12 @@
+2006-04-04  Irene Huang <[email protected]>
+
+	Fixes bug 335225
+
+	* backends/contacts/e-cal-backend-contacts.c:
+	(e_cal_backend_contacts_create_object),
+	(e_cal_backend_contacts_class_init): 
+	Add implementation of e_cal_backend_contacts_create_object.
+
 2006-04-03  Chenthill Palanisamy  <[email protected]>
 
 	Fixes #158107
Index: backends/contacts/e-cal-backend-contacts.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/contacts/e-cal-backend-contacts.c,v
retrieving revision 1.28
diff -u -r1.28 e-cal-backend-contacts.c
--- backends/contacts/e-cal-backend-contacts.c	9 Feb 2006 08:48:15 -0000	1.28
+++ backends/contacts/e-cal-backend-contacts.c	4 Apr 2006 04:19:54 -0000
@@ -962,6 +962,18 @@
 	e_cal_backend_sync_set_lock (E_CAL_BACKEND_SYNC (cbc), TRUE);
 }
 
+static ECalBackendSyncStatus
+e_cal_backend_contacts_create_object (ECalBackendSync *backend, EDataCal *cal, char **calobj, char **uid)
+{
+        ECalBackendContacts *cbcontacts;
+        ECalBackendContactsPrivate *priv;
+
+        cbcontacts = E_CAL_BACKEND_CONTACTS (backend);
+        priv = cbcontacts->priv;
+
+        return GNOME_Evolution_Calendar_PermissionDenied;
+}
+
 /* Class initialization function for the contacts backend */
 static void
 e_cal_backend_contacts_class_init (ECalBackendContactsClass *class)
@@ -985,6 +997,7 @@
  	sync_class->get_static_capabilities_sync = e_cal_backend_contacts_get_static_capabilities;
 	sync_class->open_sync = e_cal_backend_contacts_open;
 	sync_class->remove_sync = e_cal_backend_contacts_remove;
+	sync_class->create_object_sync = e_cal_backend_contacts_create_object;
 	sync_class->discard_alarm_sync = e_cal_backend_contacts_discard_alarm;
 	sync_class->receive_objects_sync = e_cal_backend_contacts_receive_objects;
 	sync_class->send_objects_sync = e_cal_backend_contacts_send_objects;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.