diff -r 4d54b72983ae -r c743ef5928ba idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp --- 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(&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(&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 )