diff -r d68a4b5d5885 -r 9c5b1510919f calendarui/editors/src/calenunifiededitorcontrol.cpp --- a/calendarui/editors/src/calenunifiededitorcontrol.cpp Tue May 25 12:41:10 2010 +0300 +++ b/calendarui/editors/src/calenunifiededitorcontrol.cpp Wed Jun 09 09:40:23 2010 +0300 @@ -811,21 +811,24 @@ { TRACE_ENTRY_POINT; - // update Entry type of Edited entry - iUnifiedEditor.Edited().SetEntryType( aNewEventType ); - - // Delete, previous entry type fields from editor - DeletePreviousEntryTypeFieldsL(); - - // Add new fiedls to editor - AddNewEntryTypeFieldsL( aNewEventType ); - iUnifiedEditor.SetEntryType( aNewEventType ); - - // after changing the event type, update the fields with default values - InitDefaultEditorsL(); - SetDataToEditorL(); - - iUnifiedEditor.UpdateFormL(); + if(iUnifiedEditor.GetEntryType() != aNewEventType) + { + // update Entry type of Edited entry + iUnifiedEditor.Edited().SetEntryType( aNewEventType ); + + // Delete, previous entry type fields from editor + DeletePreviousEntryTypeFieldsL(); + + // Add new fiedls to editor + AddNewEntryTypeFieldsL( aNewEventType ); + iUnifiedEditor.SetEntryType( aNewEventType ); + + // after changing the event type, update the fields with default values + InitDefaultEditorsL(); + SetDataToEditorL(); + + iUnifiedEditor.UpdateFormL(); + } TRACE_EXIT_POINT; }