--- a/mtpdataproviders/mtpfileandfolderdp/src/cmtpfiledp.cpp Mon Mar 15 12:43:12 2010 +0200
+++ b/mtpdataproviders/mtpfileandfolderdp/src/cmtpfiledp.cpp Wed Mar 31 22:58:56 2010 +0300
@@ -136,14 +136,11 @@
void CMTPFileDataProvider::StartObjectEnumerationL(TUint32 aStorageId, TBool /*aPersistentFullEnumeration*/)
{
__FLOG(_L8("StartObjectEnumerationL - Entry"));
-
iPendingEnumerations.AppendL(aStorageId);
- if (iPendingEnumerations.Count() == 1)
- {
- CMTPDataProviderController& dpController(iSingletons.DpController());
- TBool bOnlyScanRoot = ( (dpController.EnumerateState() == CMTPDataProviderController::EEnumeratingFrameworkObjects) && (dpController.NeedEnumeratingPhase2()) );
- iFileEnumerator->StartL(iPendingEnumerations[KActiveEnumeration], bOnlyScanRoot);
- }
+ CMTPDataProviderController& dpController(iSingletons.DpController());
+ //must read this NeedEnumeratingPhase2 before this function return
+ TBool bScanAll = dpController.NeedEnumeratingPhase2();
+ iFileEnumerator->StartL(iPendingEnumerations[KActiveEnumeration], bScanAll);
__FLOG(_L8("StartObjectEnumerationL - Exit"));
}
@@ -222,12 +219,6 @@
Framework().ObjectEnumerationCompleteL(iPendingEnumerations[KActiveEnumeration]);
iPendingEnumerations.Remove(KActiveEnumeration);
- if (iPendingEnumerations.Count())
- {
- CMTPDataProviderController& dpController(iSingletons.DpController());
- TBool bOnlyScanRoot = ( (dpController.EnumerateState() == CMTPDataProviderController::EEnumeratingFrameworkObjects) && (dpController.NeedEnumeratingPhase2()) );
- iFileEnumerator->StartL(iPendingEnumerations[KActiveEnumeration], bOnlyScanRoot);
- }
__FLOG(_L8("HandleEnumerationCompletedL - Exit"));
}