diff -r 3f1ffafb31ec -r 4d5e9526124e omads/omadsextensions/adapters/contacts/src/NSmlContactsDataStore.cpp --- a/omads/omadsextensions/adapters/contacts/src/NSmlContactsDataStore.cpp Mon Mar 15 12:39:28 2010 +0200 +++ b/omads/omadsextensions/adapters/contacts/src/NSmlContactsDataStore.cpp Wed Mar 31 21:14:07 2010 +0300 @@ -183,6 +183,7 @@ iPacketStoreName = HBufC::NewL(dataBase.Length()); TPtr pktStorePtr(iPacketStoreName->Des()); pktStorePtr.Copy(dataBase); + iDeleteAllOperation = NULL; _DBG_FILE("CNSmlContactsDataStore::ConstructL(): end"); } @@ -216,13 +217,15 @@ } if(iContactLnks) { - delete iContactLnks; + delete iContactLnks; + iContactLnks = NULL; } - if(iContactLink) - { - delete iContactLink; - } - delete iContactViewBase; + + if(iContactViewBase) + { + delete iContactViewBase; + iContactViewBase = NULL; + } if ( iContactsModsFetcher ) { iContactsModsFetcher->CancelRequest(); @@ -2383,6 +2386,10 @@ } else { + if(iLastOperation == ENSMLDeleteAllOp) + { + iDeleteAllOperation = NULL; + } if( iChangeFinder ) { iChangeFinder->ResetL(); @@ -2435,7 +2442,7 @@ CleanupStack::Pop(); } - iContactManager->DeleteContactsL( *iContactLnks, *this ); + iDeleteAllOperation = iContactManager->DeleteContactsL( *iContactLnks, *this ); }