diff -r 54d74d217042 -r cf8bf9651775 locationrequestmgmt/networkrequesthandler/src/EPos_CPosDialogCtrl.cpp --- a/locationrequestmgmt/networkrequesthandler/src/EPos_CPosDialogCtrl.cpp Wed Apr 14 17:26:05 2010 +0300 +++ b/locationrequestmgmt/networkrequesthandler/src/EPos_CPosDialogCtrl.cpp Tue May 11 17:31:17 2010 +0300 @@ -78,8 +78,6 @@ for (TInt i = 0; i < count; i++) { DoCompleteRequest(0, KErrServerTerminated); - // Delete the pointer items - delete iRequestQueue[i].iRequestInfo; } iNotifier.Close(); @@ -279,8 +277,16 @@ TInt aIndex, TInt aCompletionCode) { - TRequestStatus* status = iRequestQueue[aIndex].iStatus; - User::RequestComplete(status, aCompletionCode); + TRequest request = iRequestQueue[aIndex]; + if (request.iType == TPosQNInputData::ENotification) + { + delete request.iRequestInfo; + } + else + { + TRequestStatus* status = request.iStatus; + User::RequestComplete(status, aCompletionCode); + } iRequestQueue.Remove(aIndex); iRequestQueue.Compress(); } @@ -365,22 +371,10 @@ delete reqStackBuf; reqStackBuf = NULL; - if (data.iType == TPosQNInputData::ENotification) // We dont expect a resonse from a notfication - { - iNotifier.StartNotifier(KNotifierUid, nullPtr, nullPtr); - - // As we wont be getting a response remove from the notification list - delete iRequestQueue[0].iRequestInfo; - iRequestQueue.Remove(0); - iRequestQueue.Compress(); - } - else - { - iNotifier.StartNotifierAndGetResponse( - iStatus, KNotifierUid, nullPtr, nullPtr); - SetActive(); - } - + iNotifier.StartNotifierAndGetResponse( + iStatus, KNotifierUid, nullPtr, nullPtr); + SetActive(); + err = iNotifier.UpdateNotifier(KNotifierUid, *buffer, nullPtr); if (err != KErrNone) {