--- a/qtmobileextensions/src/keycapture/responsehandlerex.cpp Tue Jul 06 15:12:50 2010 +0300
+++ b/qtmobileextensions/src/keycapture/responsehandlerex.cpp Wed Aug 18 10:38:12 2010 +0300
@@ -28,7 +28,7 @@
#include <remconcallhandlingtarget.h>
-ResponseHandlerEx::ResponseHandlerEx(
+CResponseHandlerEx::CResponseHandlerEx(
CRemConCallHandlingTarget& aRemConCallHandlingTarget) :
CActive(CActive::EPriorityStandard), iRemConCallHandlingTarget(
aRemConCallHandlingTarget)
@@ -36,22 +36,22 @@
CActiveScheduler::Add(this);
}
-ResponseHandlerEx* ResponseHandlerEx::NewL(
+CResponseHandlerEx* CResponseHandlerEx::NewL(
CRemConCallHandlingTarget& aRemConCallHandlingTarget)
{
- ResponseHandlerEx* self = new (ELeave) ResponseHandlerEx(
+ CResponseHandlerEx* self = new (ELeave) CResponseHandlerEx(
aRemConCallHandlingTarget);
return self;
}
-ResponseHandlerEx::~ResponseHandlerEx()
+CResponseHandlerEx::~CResponseHandlerEx()
{
Cancel();
iResponseArray.Close();
}
-void ResponseHandlerEx::CompleteAnyKey(int id)
+void CResponseHandlerEx::CompleteAnyKey(int id)
{
if (!IsActive())
{
@@ -66,11 +66,13 @@
}
}
-void ResponseHandlerEx::DoCancel()
+void CResponseHandlerEx::DoCancel()
{
+ if ( iResponseArray.Count() )
+ iRemConCallHandlingTarget.Cancel();
}
-void ResponseHandlerEx::RunL()
+void CResponseHandlerEx::RunL()
{
// if any existing -> Send response
if (iResponseArray.Count())
@@ -80,4 +82,7 @@
iResponseArray.Remove(0);
iResponseArray.Compress();
}
+
+ if ( iResponseArray.Count() )
+ SetActive();
}