diff -r 82c0024438c8 -r ab88d4a85041 harvester/server/src/harvesterao.cpp --- a/harvester/server/src/harvesterao.cpp Wed Apr 14 16:24:03 2010 +0300 +++ b/harvester/server/src/harvesterao.cpp Tue Apr 27 17:05:23 2010 +0300 @@ -262,6 +262,9 @@ iHarvesterPluginFactory = CHarvesterPluginFactory::NewL(); iHarvesterPluginFactory->SetBlacklist( *iBlacklist ); + // Reset harvesting status for clients in case blacklisted file was handled + iHarvesterPluginFactory->SendHarvestingStatusEventL( EFalse ); + iCameraExtensionArray = new ( ELeave ) CDesCArraySeg( 6 ); iCameraExtensionArray->InsertIsqL( KExtensionMp4 ); iCameraExtensionArray->InsertIsqL( KExtensionMpg4 ); @@ -523,8 +526,6 @@ TRAP_IGNORE( iHarvesterEventManager->DecreaseItemCountL( EHEObserverTypeMMC, removed ) ); } - iMediaIdUtil->RemoveMediaId( aMediaId ); - removed = 0; RPointerArray& hpiArray = iHarvesterPluginFactory->GetPluginInfos(); @@ -570,6 +571,8 @@ } } + iMediaIdUtil->RemoveMediaId( aMediaId ); + // resume harvesting from last state if( !iRamFull && !iDiskFull ) { @@ -818,6 +821,7 @@ CMdEObjectDef& mdeObjectDef = defNS.GetObjectDefL( objDefStr ); CMdEObject* mdeObject = iMdESession->NewObjectL( mdeObjectDef, hd->Uri() ); + CleanupStack::PushL( mdeObject ); CPlaceholderData* phData = NULL; @@ -953,9 +957,12 @@ hd->SetMdeObject( mdeObject ); - mdeObjectArray.Append( mdeObject ); + // Ownership of mdeObject transferred to the array + mdeObjectArray.AppendL( mdeObject ); CleanupStack::PopAndDestroy( phData ); + + CleanupStack::Pop( mdeObject ); iReadyPHArray.Append( hd ); iPHArray.Remove( i );