diff -r b67379558a75 -r c5df59b4ae2d imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp Tue Jul 06 14:37:18 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp Wed Aug 18 10:05:55 2010 +0300 @@ -147,7 +147,10 @@ iShutdown = ETrue; delete iMDSShutdownObserver; + iMDSShutdownObserver = NULL; + delete iShutdownObserver; + iShutdownObserver = NULL; if(iReconnect) { @@ -300,18 +303,20 @@ // set observing conditions CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - addCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera)); - CleanupStack::Pop( addCondition ); + CMdEPropertyCondition& addPropertyCondition = addCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera)); + CleanupStack::PushL( &addPropertyCondition ); CMdELogicCondition* modifyCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorAnd ); - modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera)); - CleanupStack::Pop( modifyCondition ); + CMdEPropertyCondition& modifyPropertyCondition = modifyCondition->AddPropertyConditionL( originPropDef, TMdEUintEqual(MdeConstants::Object::ECamera)); + CleanupStack::PushL( &modifyPropertyCondition ); // add observer iMdESession->AddObjectObserverL( *this, addCondition, ENotifyAdd ); // modify observer iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify ); + + CleanupStack::Pop( 4, addCondition ); TN_DEBUG1( "CThumbAGCameraObserver::AddObserversL() - end" ); }