webengine/webkitutils/rt_gesturehelper/src/gesturehelpereventsender.cpp
changeset 8 7c90e6132015
parent 0 dd21522fd290
--- a/webengine/webkitutils/rt_gesturehelper/src/gesturehelpereventsender.cpp	Mon Mar 30 12:54:55 2009 +0300
+++ b/webengine/webkitutils/rt_gesturehelper/src/gesturehelpereventsender.cpp	Fri May 08 08:25:06 2009 +0300
@@ -17,7 +17,6 @@
 
 #include "gesturehelpereventsender.h"
 #include "gesture.h"
-#include "gestureevent.h"
 
 using namespace RT_GestureHelper;
 
@@ -39,11 +38,15 @@
 
 CGestureEventSender::~CGestureEventSender()
     {
+    if (IsActive()) 
+        {
+        Cancel();
+        }
+
     iEvents.Close();
-    iEvents.ResetAndDestroy();
     }
 
-TInt CGestureEventSender::AddEvent(const CGestureEvent* aGestureEvent)
+TInt CGestureEventSender::AddEvent(const TGestureEvent& aGestureEvent)
     {
     iEvents.Append(aGestureEvent);
     if (iState != EBusy)
@@ -65,7 +68,6 @@
     SetActive();
     }
 
-
 void CGestureEventSender::RunL()
     {
     switch (iState)
@@ -77,9 +79,8 @@
                 TInt count = iEvents.Count();
                 for (int i = 0;  i < count; i++)
                     {
-                    CGestureEvent* gst = iEvents[i];
-                    EmitEventL(*gst);
-                    delete gst;
+                    TGestureEvent& gst = iEvents[i];
+                    EmitEventL(gst);
                     }
                 }
             iEvents.Reset();
@@ -90,8 +91,7 @@
         }
     }
 
-
-void CGestureEventSender::EmitEventL( const CGestureEvent& aGesture )
+void CGestureEventSender::EmitEventL( const TGestureEvent& aGesture )
     {
     iState = EBusy;
     iObserver.HandleGestureL(aGesture);
@@ -100,6 +100,7 @@
 
 TInt CGestureEventSender::RunError(TInt aError)
     {
+    iEvents.Reset();
     return aError;
     }