harvester/monitorplugins/mmcplugin/src/mmcscannerao.cpp
changeset 54 a3cc46f37772
parent 21 50bf9db68373
--- a/harvester/monitorplugins/mmcplugin/src/mmcscannerao.cpp	Tue Jul 06 14:44:37 2010 +0300
+++ b/harvester/monitorplugins/mmcplugin/src/mmcscannerao.cpp	Fri Sep 17 16:54:49 2010 +0300
@@ -82,6 +82,7 @@
 	// Delete instance variables if any
 	
 	delete iMmcFileList;
+	iMmcFileList = NULL;
 	
 	iEntryArray.ResetAndDestroy();
 	iEntryArray.Close();
@@ -107,6 +108,14 @@
 		{
 		case( EUninitialized ):
 			{
+		    WRITELOG("CMmcScannerAO::RunL - Starting processing");
+		    if( iMediaId == 0 )
+		        {
+		        WRITELOG("CMmcScannerAO::RunL - MediaId == 0 -> end");
+                SetState( EDone );
+                break;		    
+		        }
+		    
 			WRITELOG("CMmcScannerAO::RunL - Setting files to not present");
 			iMdEClient->SetFilesToNotPresent( iMediaId, ETrue );
 			SetState( EReadFiles );
@@ -248,6 +257,7 @@
 			hd->SetEventType( EHarvesterEdit );
 			hd->SetObjectType( ENormal );
 			delete ei;
+			ei = NULL;
 			}
 		else
 			{
@@ -255,7 +265,12 @@
 			hd->SetObjectType( EPlaceholder );
 			hd->SetClientData( ei );
 			}
-		iHdArray.Append( hd );
+			
+		if(iHdArray.Append( hd ) != KErrNone )
+		    {
+            delete hd;
+            hd = NULL;
+		    }
         iHarvestEntryArray.Remove( i );
         }