sysstatemgmt/systemstatemgr/sus/src/susemergencycallrfadaptation.cpp
changeset 41 c87e5f80c17d
parent 12 e978f818f9bd
child 61 8cb079868133
--- a/sysstatemgmt/systemstatemgr/sus/src/susemergencycallrfadaptation.cpp	Fri Jun 11 14:56:08 2010 +0300
+++ b/sysstatemgmt/systemstatemgr/sus/src/susemergencycallrfadaptation.cpp	Thu Jul 01 11:20:10 2010 +0300
@@ -278,8 +278,6 @@
 	DEBUGPRINT2A("CEmergencyCallRfAdaptationRequests processed the request with funtion id: %d", iCurrentMessage->Function());
 	iCurrentMessage->Complete(iStatus.Int());
 	DeleteAdaptationMessage();
-	iCurrentMessage = NULL;  
-
 	if( (iPendingEmergencyRequestsQueue.Count()) > 0 )
 		{
         CEmergencyAdaptationMessage *messageCopy = NULL;
@@ -295,7 +293,6 @@
 		{
         iCurrentMessage->Complete(aError);
 		DeleteAdaptationMessage();
-		iCurrentMessage = NULL;
 		}
 	
 	while( (iPendingEmergencyRequestsQueue.Count() > 0 ))
@@ -303,7 +300,6 @@
         Dequeue(iCurrentMessage);
         iCurrentMessage->Complete(aError);
         DeleteAdaptationMessage();
-        iCurrentMessage = NULL;
         }
 	
 	return KErrNone;
@@ -316,7 +312,6 @@
 		{
 		iCurrentMessage->Complete(KErrCancel);
 		DeleteAdaptationMessage();
-		iCurrentMessage = NULL;
 		}
 		
 	while( (iPendingEmergencyRequestsQueue.Count() > 0 ))
@@ -324,7 +319,6 @@
         Dequeue(iCurrentMessage);
         iCurrentMessage->Complete(KErrCancel);
         DeleteAdaptationMessage();
-        iCurrentMessage = NULL;
 		}
 	}
 
@@ -349,7 +343,8 @@
  */
 void CEmergencyCallRfAdaptation::DeleteAdaptationMessage()
     {
-    if(iCurrentMessage->IsMessageReserved())
+	//Do not delete iCurrentMessage if it is owned by iAdaptationReservedMessageArray.
+	if(iCurrentMessage->IsMessageReserved())
         {
         iCurrentMessage->UnsetMessageStatus(EMsgInUse);
         ++iReserveMsgCount;
@@ -357,7 +352,8 @@
     else
         {
         delete iCurrentMessage;
-        }    
+		}
+	iCurrentMessage = NULL;
     }
 
 void CEmergencyCallRfAdaptation::Dequeue(CEmergencyAdaptationMessage *&aCurrentMessage)