imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp
branchRCL_3
changeset 20 2b4b06654caa
parent 19 f759b6186ab5
child 21 6257223ede8a
--- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp	Thu Jul 15 18:59:26 2010 +0300
+++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp	Thu Aug 19 10:13:51 2010 +0300
@@ -147,7 +147,10 @@
     iShutdown = ETrue;    
     
     delete iMDSShutdownObserver;
+    iMDSShutdownObserver = NULL;
+    
     delete iShutdownObserver;
+    iShutdownObserver = NULL;
     
     if(iReconnect)
         {
@@ -287,21 +290,28 @@
     
     // set observing conditions
     CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
-    addCondition->AddObjectConditionL( imageDef );
-    addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
-    CleanupStack::Pop( addCondition );  
+
+    CMdEObjectCondition& addObjectCondition = addCondition->AddObjectConditionL( imageDef );
+	CleanupStack::PushL( &addObjectCondition );
+	
+	CMdEPropertyCondition& addPropertyCondition = addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+   	CleanupStack::PushL( &addPropertyCondition );
     
     CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd );
-    modifyCondition->AddObjectConditionL( imageDef );
-    addCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
-    CleanupStack::Pop( modifyCondition );
-   
+	CMdEObjectCondition& modifyObjectCondition = modifyCondition->AddObjectConditionL( imageDef );
+	CleanupStack::PushL( &modifyObjectCondition );
+	
+	CMdEPropertyCondition& modifyPropertyCondition = modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintNotEqual(MdeConstants::Object::ECamera));
+   	CleanupStack::PushL( &modifyPropertyCondition );
+	
     // add observers
     iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd ); 
 
     // modify observer
     iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify );
-     
+	
+    CleanupStack::Pop( 6, addCondition );
+
     TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - end" );
     }