idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp
changeset 5 c743ef5928ba
parent 2 08c6ee43b396
child 9 f966699dea19
--- a/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp	Tue Jan 26 11:48:23 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp	Tue Feb 02 00:04:13 2010 +0200
@@ -60,6 +60,7 @@
 #include "xnscrollablecontroladapter.h"
 #include "xnfocuscontrol.h"
 #include "xneditmode.h"
+#include "xnbgcontrol.h"
 
 _LIT8(KScrollableBoxNodeName, "scrollablebox");
         
@@ -3900,8 +3901,9 @@
             
             // Ignore events
             bg.IgnoreEventsUntilNextPointerUp();
-            
-            // Indicate long tap has taken plave
+            static_cast<CXnBgControl*>(&bg)->ResetGrabbingL();
+
+          // Indicate long tap has taken plave
             iLongtap = ETrue;
             
             CXnNode* hold = BuildTriggerNodeL( *engine,
@@ -3926,17 +3928,21 @@
     {
     const TPointerEvent& event( aPointerEvent );
     
+    CXnNode* node( &iNode.Node() );
+    CXnUiEngine* engine( node->UiEngine() );
+ 
+    
     // Forward event to gesture helper
     if( PassEventToGestureHelperL( aPointerEvent ) )
-        {
+        { 
+        CXnAppUiAdapter& appui( engine->AppUiAdapter() );
+        CCoeControl& bg( appui.ViewAdapter().BgControl() );
+        static_cast<CXnBgControl*>(&bg)->ResetGrabbingL();
+        
         // Swipe took place, consume this event
         return ETrue;
         }
 
-    CXnNode* node( &iNode.Node() );
-
-    CXnUiEngine* engine( node->UiEngine() );    
-
     TBool menuBar( node == engine->MenuBarNode() );
 
     if ( menuBar )