diff --git a/incidenceeditor-ng/incidencerecurrence.cpp b/incidenceeditor-ng/incidencerecurrence.cpp --- a/incidenceeditor-ng/incidencerecurrence.cpp +++ b/incidenceeditor-ng/incidencerecurrence.cpp @@ -254,6 +254,8 @@ { // clear out any old settings; KCalCore::Recurrence *r = incidence->recurrence(); + const QSet dirtyFields(incidence->dirtyFields()); + KCalCore::Recurrence rOld = *r; r->unsetRecurs(); // Why not clear() ? const RecurrenceType recurrenceType = currentRecurrenceType(); @@ -325,6 +327,10 @@ } r->setExDates( mExceptionDates ); + + if (*r == rOld) { + incidence->setDirtyFields(dirtyFields); + } } void IncidenceRecurrence::save( const KCalCore::Incidence::Ptr &incidence )