diff -r 42814f902fe6 -r 38571fd2a704 calendarui/controller/src/calennotifier.cpp --- a/calendarui/controller/src/calennotifier.cpp Fri Feb 19 22:49:53 2010 +0200 +++ b/calendarui/controller/src/calennotifier.cpp Fri Mar 12 15:42:35 2010 +0200 @@ -71,36 +71,6 @@ { TRACE_ENTRY_POINT; - // Stop database change notifications. - delete iDbChangeNotifier; - - // Stop ECom change notifications - delete iEComWatcher; - - // Release the global data - if( iGlobalData ) - { - // stop listening for calendar file change notifications - iGlobalData->CalSessionL().StopFileChangeNotification(); - iGlobalData->Release(); - } - - if( iSetting ) - { - iSetting->Release(); - } - - // Stop environment change notifications - if( iEnvChangeNotifier ) - { - iEnvChangeNotifier->Cancel(); - delete iEnvChangeNotifier; - } - - // Stop settings change notifications - delete iCenRepChangeNotifier; - delete iRepository; - // Reset the handler array. // Before we reset , close hashset for each handler for(TInt i = 0 ; i < iHandlers.Count() ; i++) @@ -111,13 +81,65 @@ iHandlers.Reset(); iBroadcastQueue.Reset(); - - - iAsyncCallback->Cancel(); - delete iAsyncCallback; - - delete iFilnameDeleted; - + if( iAsyncCallback ) + { + iAsyncCallback->Cancel(); + delete iAsyncCallback; + iAsyncCallback = NULL; + } + + if( iFilnameDeleted ) + { + delete iFilnameDeleted; + iFilnameDeleted = NULL; + } + + // Stop ECom change notifications + if( iEComWatcher ) + { + delete iEComWatcher; + iEComWatcher = NULL; + } + + // Stop database change notifications. + if( iDbChangeNotifier ) + { + delete iDbChangeNotifier; + iDbChangeNotifier = NULL; + } + + // Stop settings change notifications + if( iCenRepChangeNotifier ) + { + delete iCenRepChangeNotifier; + iCenRepChangeNotifier = NULL; + } + + if( iRepository ) + { + delete iRepository; + iRepository = NULL; + } + + // Stop environment change notifications + if( iEnvChangeNotifier ) + { + iEnvChangeNotifier->Cancel(); + delete iEnvChangeNotifier; + } + + if( iSetting ) + { + iSetting->Release(); + } + + // Release the global data + if( iGlobalData ) + { + // stop listening for calendar file change notifications + iGlobalData->CalSessionL().StopFileChangeNotification(); + iGlobalData->Release(); + } TRACE_EXIT_POINT; }