Am Dienstag 18 Oktober 2005 05:05 schrieb Nabil Sayegh: > There is a 4th bug, that I didn't yet track down, but it only occurs in > conjunction with korganizer, with the commandline tools it doesn't happen: > > A recurring event, that has been created on the device, will be duplicated > on the device when it is synced with korganizer :(
Hi twogood, Hi voc, The problem is in syncekonnector: uint32_t PimHandler::getOriginalId(const QString& p_id) { QString id = p_id; bool ok; return id.remove("RRA-ID-").toUInt(&ok, 16); } But recurring events have UIDs like: BLOB0067=040000008200e00074c5b7101a82e0080000000043514f03d3a1993d9955a25b5aed3a59c7960a1bacdc398809cca520ebe4eeb3 However they don't contain the OriginalId (09003dd6 in that case), so it's not enough to remove the "BLOB0067=" part. We need the originalId to be self contained inside the vevent, so that we can restore it, but what field can we use for it, so that it survives the various syncing apps? Any idea? For the moment everybody using syncekonnector should disable binary UIDs using the appended kludge. P.S.: @twogood: pls don't forget to apply the other patches I submitted some days ago rgds -- e-Trolley Sayegh & John, Nabil Sayegh Tel.: 0700 etrolley /// 0700 38765539 Fax.: +49 69 8299381-8 PGP : www.e-trolley.de
diff -uriwbB rra/lib/appointment.c rra-blob0067_uid_kludge/lib/appointment.c --- rra/lib/appointment.c 2005-05-20 13:08:38.000000000 +0200 +++ rra-blob0067_uid_kludge/lib/appointment.c 2005-10-20 23:59:39.000000000 +0200 @@ -312,7 +312,7 @@ if (!recurrence_generate_rrule(generator, event_generator_data.recurrence_pattern)) synce_warning("Failed to generate RRULE from recurrence pattern."); - if (event_generator_data.unique) + if (event_generator_data.unique && id == RRA_APPOINTMENT_ID_UNKNOWN) { char* buffer = NULL; unsigned i;