phonebookui/Phonebook2/ServerApplication/src/CPbk2AddressSelectPhase.cpp
branchRCL_3
changeset 6 e8e3147d53eb
parent 0 e686773b3f54
child 18 d4f567ce2e7c
--- a/phonebookui/Phonebook2/ServerApplication/src/CPbk2AddressSelectPhase.cpp	Fri Mar 12 15:41:25 2010 +0200
+++ b/phonebookui/Phonebook2/ServerApplication/src/CPbk2AddressSelectPhase.cpp	Mon Mar 15 12:39:26 2010 +0200
@@ -94,6 +94,10 @@
     delete iContactLinks;
     delete iResults;
     delete iDealer;
+    if ( iThisPtrDestroyed )
+        {
+        *iThisPtrDestroyed = ETrue;
+        }
     }
 
 // --------------------------------------------------------------------------
@@ -408,10 +412,21 @@
         ( &iAddressSelectEliminator );
 
     appUi.StoreManager().RegisterStoreEventsL( *this );
+    
+    TBool amIDestroyed( EFalse );
+    iThisPtrDestroyed = &amIDestroyed;    
+    
     MVPbkStoreContactField* resultField = addressSelect->ExecuteLD();
     appUi.StoreManager().DeregisterStoreEvents( *this );
     CleanupStack::PopAndDestroy(); // reader
 
+    if ( amIDestroyed )
+        {        
+        return;
+        }
+    
+    //Reset
+    iThisPtrDestroyed = NULL;
     if ( resultField )
         {
         CleanupDeletePushL(resultField);