telephonyprotocols/pdplayer/src/pdpmcpr.cpp
changeset 19 1f776524b15c
parent 0 3553901f7fa8
child 23 6b1d113cdff3
--- a/telephonyprotocols/pdplayer/src/pdpmcpr.cpp	Tue Feb 02 01:41:59 2010 +0200
+++ b/telephonyprotocols/pdplayer/src/pdpmcpr.cpp	Fri Mar 19 09:55:57 2010 +0200
@@ -20,15 +20,16 @@
  @internalComponent
 */
 
+#include <etelqos.h>
+#include <comms-infras/agentmcpractivities.h>
+#include <comms-infras/coremcpractivities.h>
+#include <comms-infras/ss_msgintercept.h>
+#include <elements/nm_messages_errorrecovery.h>
 #include <comms-infras/ss_log.h>
 #include "pdpmcpr.h"
 #include "pdpmcprstates.h"
 #include "PDPProvision.h"
 #include "psdavailabilitylistener.h"
-#include <comms-infras/agentmcpractivities.h>
-#include <comms-infras/coremcpractivities.h>
-#include <comms-infras/ss_msgintercept.h>
-#include <elements/nm_messages_errorrecovery.h>
 
 using namespace Messages;
 using namespace MeshMachine;
@@ -153,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);