diff -r f759b6186ab5 -r 2b4b06654caa imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp --- a/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.cpp Thu Jul 15 18:59:26 2010 +0300 +++ b/imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagcameraobserver.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) { @@ -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" ); }