diff -r d2517372cc44 -r ae69c2e8bc34 omaprovisioning/provisioning/ProvisioningEngine/Src/CWPMultiContextManager.cpp --- a/omaprovisioning/provisioning/ProvisioningEngine/Src/CWPMultiContextManager.cpp Tue Sep 28 17:53:08 2010 +0530 +++ b/omaprovisioning/provisioning/ProvisioningEngine/Src/CWPMultiContextManager.cpp Fri Oct 15 11:46:45 2010 +0530 @@ -503,18 +503,17 @@ delete colset; User::LeaveIfError( proxies.SetIndex( KDbIndexProxiesContextId ) ); - proxies.SeekL( TDbSeekKey( TUint( aUid ) ) ); - CDesCArray* array = new(ELeave) CDesCArrayFlat( KProxiesGranularity ); - CleanupStack::PushL( array ); - - while( proxies.AtRow() + CleanupStack::PushL( array ); + if(proxies.SeekL( TDbSeekKey( TUint( aUid ) ) )) + { + while( proxies.AtRow() && (proxies.GetL(), proxies.ColUint32( contextCol ) == aUid ) ) { array->AppendL( proxies.ColDes16( proxyCol ) ); proxies.NextL(); - } - + } + } CleanupStack::Pop(); // array CleanupStack::PopAndDestroy(); // proxies