omads/omadsextensions/adapters/contacts/src/NSmlContactsDataStore.cpp
branchRCL_3
changeset 12 4d5e9526124e
parent 11 3f1ffafb31ec
child 24 8e7494275d3a
--- 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 );
 	
 	}