telephonyprotocols/pdplayer/src/pdpmcpr.cpp
branchRCL_3
changeset 14 7ef16719d8cb
parent 9 962e6306d9d2
child 15 fc69e1e37771
--- a/telephonyprotocols/pdplayer/src/pdpmcpr.cpp	Fri Feb 19 23:59:33 2010 +0200
+++ b/telephonyprotocols/pdplayer/src/pdpmcpr.cpp	Fri Mar 12 15:49:38 2010 +0200
@@ -154,17 +154,26 @@
 	mec.AppendExtensionL(gprsProvision);
 	CleanupStack::Pop(gprsProvision);
 	
-	//It's legal for the qos defaults to be absent.
-	//in this case they're going to be supplied by
-	//GuQoS.
+	//It's not legal for the qos defaults to be absent.
 	CDefaultPacketQoSProvision* defaultQoS = NULL;
-	TRAP_IGNORE(defaultQoS = CDefaultPacketQoSProvision::NewL(iapView));
-	if (defaultQoS)
-    	{
-    	CleanupStack::PushL(defaultQoS);
-     	mec.AppendExtensionL(defaultQoS);
-     	CleanupStack::Pop(defaultQoS);
-    	}
+	TRAPD(ret, defaultQoS = CDefaultPacketQoSProvision::NewL(iapView));	  
+    if ((KErrNone == ret) && defaultQoS)           
+        {
+        CleanupStack::PushL(defaultQoS);
+        mec.AppendExtensionL(defaultQoS);
+        CleanupStack::Pop(defaultQoS);
+        }
+    else
+        {
+        if (KErrNoMemory == ret)
+            {
+            User::Leave(KErrNoMemory);
+            }
+        else
+            {
+            User::Leave(KErrCorrupt);
+            }          
+        }    
 	
 	CRawIpAgentConfig* rawIpAgentConfig = CRawIpAgentConfig::NewLC(iapView, &gprsProvision->GetScratchContextAs<TPacketDataConfigBase>());
 	mec.AppendExtensionL(rawIpAgentConfig);