diff -r 3553901f7fa8 -r 1f776524b15c telephonyprotocols/pdplayer/src/pdpmcpr.cpp --- 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 +#include +#include +#include +#include #include #include "pdpmcpr.h" #include "pdpmcprstates.h" #include "PDPProvision.h" #include "psdavailabilitylistener.h" -#include -#include -#include -#include 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()); mec.AppendExtensionL(rawIpAgentConfig);