usbclasses/pictbridgeengine/src/dpsusbnotifier.cpp
changeset 2 468cfcb53fd1
parent 0 1e05558e2206
--- 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")));
     }