--- 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<CHarvesterPluginInfo>& 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 );