Index: src/incidence.cpp =================================================================== --- src/incidence.cpp +++ src/incidence.cpp @@ -966,11 +966,13 @@ void Incidence::setSchedulingID(const QString &sid, const QString &uid) { - d->mSchedulingID = sid; if (!uid.isEmpty()) { setUid(uid); } - setFieldDirty(FieldSchedulingId); + if (sid != d->mSchedulingID) { + d->mSchedulingID = sid; + setFieldDirty(FieldSchedulingId); + } } QString Incidence::schedulingID() const Index: src/incidencebase.cpp =================================================================== --- src/incidencebase.cpp +++ src/incidencebase.cpp @@ -227,10 +227,12 @@ void IncidenceBase::setUid(const QString &uid) { - update(); - d->mUid = uid; - d->mDirtyFields.insert(FieldUid); - updated(); + if (d->mUid != uid) { + update(); + d->mUid = uid; + d->mDirtyFields.insert(FieldUid); + updated(); + } } QString IncidenceBase::uid() const