mtpfws/mtpfw/src/cmtpdataprovider.cpp
branchRCL_3
changeset 12 523717cdb0ad
parent 4 60a94a45d437
child 13 81da3301b632
--- a/mtpfws/mtpfw/src/cmtpdataprovider.cpp	Tue May 11 16:59:11 2010 +0300
+++ b/mtpfws/mtpfw/src/cmtpdataprovider.cpp	Tue May 25 13:35:25 2010 +0300
@@ -616,7 +616,8 @@
 		else if (iSingletons.DpController().EnumerateState() < CMTPDataProviderController::EEnumeratingPhaseOneDone)
     	{
         __FLOG(_L8("DP Enumeration is not complete"));
-
+        if (iCurrentRequest != NULL)
+        {
         TUint16 opCode = iCurrentRequest->Uint16(TMTPTypeRequest::ERequestOperationCode);
 
         switch(opCode)
@@ -669,6 +670,7 @@
 	  default:
 		  break;
 		    }
+        }
 	    }
 		}
     else
@@ -678,16 +680,19 @@
         
         //Make ActiveRequest processor and CancelRequest processing to occur synchronously
         if( iCurrentTransactionPhase == ERequestPhase )
-        	{
-        	CMTPSession& session(static_cast<CMTPSession&>(iCurrentConnection->SessionWithMTPIdL(iCurrentRequest->Uint32(TMTPTypeRequest::ERequestSessionID))));
-        	MMTPConnectionProtocol& connection(static_cast<MMTPConnectionProtocol&>(*iCurrentConnection)); 
+            {
+                if( iCurrentRequest != NULL )
+                	{  
+        	        CMTPSession& session(static_cast<CMTPSession&>(iCurrentConnection->SessionWithMTPIdL(iCurrentRequest->Uint32(TMTPTypeRequest::ERequestSessionID))));
+        	        MMTPConnectionProtocol& connection(static_cast<MMTPConnectionProtocol&>(*iCurrentConnection)); 
         	
-        	// Pass transaction to session to check against any pending events
-           	if ( session.CheckPendingEvent(*iCurrentRequest) )
-            	{
-                //Current request matches a pending event, pass event to connection layer event processing
-                connection.ReceivedEventL(session.PendingEvent());
-                }
+        	        // Pass transaction to session to check against any pending events
+           	      if ( session.CheckPendingEvent(*iCurrentRequest) )
+            	    {
+                      //Current request matches a pending event, pass event to connection layer event processing
+                  connection.ReceivedEventL(session.PendingEvent());
+                  }
+                  }
         	}
         
         }