diff -r e000e7e1f1b1 -r d6e4203b7ebe supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp --- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp Wed Apr 14 16:23:43 2010 +0300 +++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplstartstate.cpp Tue Apr 27 17:05:00 2010 +0300 @@ -655,29 +655,32 @@ } } - COMASuplGSMCellInfo* cellInfo; + COMASuplGSMCellInfo* cellInfo = COMASuplGSMCellInfo::NewL(); COMASuplLocationId::TOMASuplStatus status; - aLocationId->SuplLocationId(cellInfo, status); + TInt err = aLocationId->SuplLocationId(cellInfo, status); - TInt refMNC,refMCC,refCI,refLac; - cellInfo->SuplGSMCellInfo(refMNC,refMCC,refCI,refLac); - - COMASuplGSMCellInfo* cellInfoClone = COMASuplGSMCellInfo::NewL(); - cellInfoClone->SetSuplGSMCellInfo(refMNC,refMCC,refCI,refLac); - iLocationId2->SetSuplLocationId(cellInfoClone, status); + if(err == KErrNone) + { + TInt refMNC,refMCC,refCI,refLac; + cellInfo->SuplGSMCellInfo(refMNC,refMCC,refCI,refLac); + + COMASuplGSMCellInfo* cellInfoClone = COMASuplGSMCellInfo::NewL(); + cellInfoClone->SetSuplGSMCellInfo(refMNC,refMCC,refCI,refLac); + iLocationId2->SetSuplLocationId(cellInfoClone, status); - iLocationId = aLocationId; + iLocationId = aLocationId; - if(iECId) - { - iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompletedL...Retrive E-CellId"), KTraceFileName, __LINE__); - iGenerationStatus = ETrue; - iLocationIDRequestor->GetECellID(); + if(iECId) + { + iTrace->Trace(_L("COMASuplStartState::LocationIDRequestCompletedL...Retrive E-CellId"), KTraceFileName, __LINE__); + iGenerationStatus = ETrue; + iLocationIDRequestor->GetECellID(); + } + else + { + GetAssistceDataFromPluginL(aErrorCode); + } } - else - { - GetAssistceDataFromPluginL(aErrorCode); - } } // -----------------------------------------------------------------------------