diff -r 523717cdb0ad -r 81da3301b632 mtpfws/mtpfw/dataproviders/devdp/src/cmtpdevicedatastore.cpp --- a/mtpfws/mtpfw/dataproviders/devdp/src/cmtpdevicedatastore.cpp Tue May 25 13:35:25 2010 +0300 +++ b/mtpfws/mtpfw/dataproviders/devdp/src/cmtpdevicedatastore.cpp Wed Jun 09 10:36:33 2010 +0300 @@ -438,6 +438,7 @@ if (isCompleted) { Schedule(EEnumerated); + } else { @@ -453,12 +454,20 @@ break; case EEnumerated: + { + if (iHasPendingRequest) + { + iHasPendingRequest = EFalse; + iSingletons.DpController().ExecutePendingRequestL(); + } + if (iCallback) { iCallback->NotifyEnumerationCompleteL(iStorageId, KErrNone); iCallback = NULL; iStorageId = KMTPNotSpecified32; } + } break; case EEnumeratedBatteryLevel : @@ -483,7 +492,8 @@ CActive(EPriorityStandard), iBatteryInfoV1Pckg(iBatteryInfoV1), iPhoneIdV1Pckg(iPhoneIdV1), - iIsConnectMac(EFalse) + iIsConnectMac(EFalse), + iHasPendingRequest(EFalse) { CActiveScheduler::Add(this); } @@ -1235,3 +1245,10 @@ { iIsConnectMac = aConnectMac; } + +void CMTPDeviceDataStore::RegisterPendingRequest() + { + iHasPendingRequest = ETrue; + } + +