diff -r 962e6306d9d2 -r 7ef16719d8cb telephonyprotocols/pdplayer/src/pdpmcpr.cpp --- 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()); mec.AppendExtensionL(rawIpAgentConfig);