phonebookui/Phonebook2/ServerApplication/src/CPbk2AddressSelectPhase.cpp
branchRCL_3
changeset 6 e8e3147d53eb
parent 0 e686773b3f54
child 18 d4f567ce2e7c
equal deleted inserted replaced
5:81f8547efd4f 6:e8e3147d53eb
    92     delete iStoreContact;
    92     delete iStoreContact;
    93     delete iRetrieveOperation;
    93     delete iRetrieveOperation;
    94     delete iContactLinks;
    94     delete iContactLinks;
    95     delete iResults;
    95     delete iResults;
    96     delete iDealer;
    96     delete iDealer;
       
    97     if ( iThisPtrDestroyed )
       
    98         {
       
    99         *iThisPtrDestroyed = ETrue;
       
   100         }
    97     }
   101     }
    98 
   102 
    99 // --------------------------------------------------------------------------
   103 // --------------------------------------------------------------------------
   100 // CPbk2AddressSelectPhase::ConstructL
   104 // CPbk2AddressSelectPhase::ConstructL
   101 // --------------------------------------------------------------------------
   105 // --------------------------------------------------------------------------
   406     iAddressSelectEliminator = addressSelect;
   410     iAddressSelectEliminator = addressSelect;
   407     iAddressSelectEliminator->ResetWhenDestroyed
   411     iAddressSelectEliminator->ResetWhenDestroyed
   408         ( &iAddressSelectEliminator );
   412         ( &iAddressSelectEliminator );
   409 
   413 
   410     appUi.StoreManager().RegisterStoreEventsL( *this );
   414     appUi.StoreManager().RegisterStoreEventsL( *this );
       
   415     
       
   416     TBool amIDestroyed( EFalse );
       
   417     iThisPtrDestroyed = &amIDestroyed;    
       
   418     
   411     MVPbkStoreContactField* resultField = addressSelect->ExecuteLD();
   419     MVPbkStoreContactField* resultField = addressSelect->ExecuteLD();
   412     appUi.StoreManager().DeregisterStoreEvents( *this );
   420     appUi.StoreManager().DeregisterStoreEvents( *this );
   413     CleanupStack::PopAndDestroy(); // reader
   421     CleanupStack::PopAndDestroy(); // reader
   414 
   422 
       
   423     if ( amIDestroyed )
       
   424         {        
       
   425         return;
       
   426         }
       
   427     
       
   428     //Reset
       
   429     iThisPtrDestroyed = NULL;
   415     if ( resultField )
   430     if ( resultField )
   416         {
   431         {
   417         CleanupDeletePushL(resultField);
   432         CleanupDeletePushL(resultField);
   418         AddFieldToResultsAndContinueL(resultField);
   433         AddFieldToResultsAndContinueL(resultField);
   419         CleanupStack::PopAndDestroy(); // resultField
   434         CleanupStack::PopAndDestroy(); // resultField