--- a/usbclasses/pictbridgeengine/src/dpsusbnotifier.cpp Thu Jan 07 13:25:34 2010 +0200
+++ b/usbclasses/pictbridgeengine/src/dpsusbnotifier.cpp Mon Jan 18 21:13:23 2010 +0200
@@ -150,14 +150,20 @@
// personality
if (iPersonality)
{
- if (!iConfigured || iRollback)
- {
- iUsbW.SetPreviousPersonality();
- }
- else
- {
- iUsbW.SetPreviousPersonalityOnDisconnect();
- }
+ TInt personalityId = KUsbPersonalityIdMTP;
+ iUsbM.GetCurrentPersonalityId(personalityId);
+ IF_DEBUG(Print(_L("CDpsUsbNotifier::Rollback, current personality= %d"), personalityId));
+ if(KUsbPersonalityIdPCSuiteMTP != personalityId)
+ {
+ if (!iConfigured || iRollback)
+ {
+ iUsbW.SetPreviousPersonality();
+ }
+ else
+ {
+ iUsbW.SetPreviousPersonalityOnDisconnect();
+ }
+ }
}
IF_DEBUG(Print(_L("<<<CDpsUsbNotifier::Rollback")));
}