From: Minkyu Kim Date: Fri, 27 Sep 2013 06:09:46 +0000 (+0900) Subject: N_SE-47263 : reset touch cancel when indicator touch released/N_SE-51832 : fix checki... X-Git-Tag: accepted/tizen/20131002.165803^2~44^2 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fframework%2Fnative%2Fuifw.git;a=commitdiff_plain;h=ed2f1465eabc61b80620af2b1c2a55f10ee82a26 N_SE-47263 : reset touch cancel when indicator touch released/N_SE-51832 : fix checking touch pressed Change-Id: I3b86ce0ef79442d133954a5181e59043f338aea2 --- diff --git a/src/ui/FUi_EflUiEventManager.cpp b/src/ui/FUi_EflUiEventManager.cpp index 963ab91..ff1e2d1 100644 --- a/src/ui/FUi_EflUiEventManager.cpp +++ b/src/ui/FUi_EflUiEventManager.cpp @@ -91,7 +91,6 @@ int __touchTailCount = 0; const int KEY_COUNT = 300; const int DEVICE_COUNT = 999; const wchar_t* KEYBOARD_INSERTED_EVENT = L"KEYBOARD_INSERTED"; -bool __evasTouchPressed = false; bool __keyPressed[KEY_COUNT] = {false,}; bool __touchPressed[DEVICE_COUNT] = {false,}; Ecore_X_Atom __keyboardExist = 0; @@ -1797,7 +1796,7 @@ OnIpcClientData(void *pData, int type __UNUSED__, void *pEvent) _IpcDataEvMouseDown *pIpc = static_cast<_IpcDataEvMouseDown*>(pEv->data); SysTryReturnResult(NID_UI, pIpc, ECORE_CALLBACK_PASS_ON, "[E_INVALID_ARG] The argument is invalid."); - if (__evasTouchPressed == true) + if (__touchPressed[0] == true) { _TouchManager* pTouchManager = _TouchManager::GetInstance(); if (pTouchManager) @@ -1805,13 +1804,13 @@ OnIpcClientData(void *pData, int type __UNUSED__, void *pEvent) pTouchManager->SetTouchCanceled(null); SysLog(NID_UI, "pWindow is null, CancelTouch"); - __evasTouchPressed = false; + __touchPressed[0] = false; pTouchManager->ResetTouchInfo(); SysLog(NID_UI, "pWindow is null, ResetTouchInfo"); } } - __evasTouchPressed = true; + __touchPressed[0] = true; SysSecureLog(NID_UI, "OnEvasTouchPressed - x(%d), y(%d)", pointX, pointY); _TouchEvent event(0, _TOUCH_PRESSED, pointX, pointY, pIpc->timestamp, pControl); @@ -1835,7 +1834,7 @@ OnIpcClientData(void *pData, int type __UNUSED__, void *pEvent) _IpcDataEvMouseUp *pIpc = static_cast<_IpcDataEvMouseUp*>(pEv->data); SysTryReturnResult(NID_UI, pIpc, ECORE_CALLBACK_PASS_ON, "[E_INVALID_ARG] The argument is invalid."); - __evasTouchPressed = false; + __touchPressed[0] = false; SysSecureLog(NID_UI, "OnEvasTouchReleased - x(%d), y(%d)", pointX, pointY); _TouchEvent event(0, _TOUCH_RELEASED, pointX, pointY, pIpc->timestamp, pControl); @@ -1856,7 +1855,7 @@ OnIpcClientData(void *pData, int type __UNUSED__, void *pEvent) case OP_EV_MOUSE_MOVE: if (pEv->size >= static_cast(sizeof(_IpcDataEvMouseMove))) { - if (__evasTouchPressed == false) + if (__touchPressed[0] == false) { return ECORE_CALLBACK_PASS_ON; } diff --git a/src/ui/controls/FUiCtrl_Indicator.cpp b/src/ui/controls/FUiCtrl_Indicator.cpp index 3b59a9e..4ded06f 100644 --- a/src/ui/controls/FUiCtrl_Indicator.cpp +++ b/src/ui/controls/FUiCtrl_Indicator.cpp @@ -975,6 +975,15 @@ _Indicator::OnTouchReleased(const _Control& source, const _TouchInfo& touchinfo) if (pTouchManager->IsListenerOnly(touchinfo.GetPointId()) == true) { + _TouchManager* pTouchManager = _TouchManager::GetInstance(); + if (pTouchManager) + { + if(pTouchManager->GetTouchControlSource() == &source) + { + SysLog(NID_UI, "VisibleState changed false, Call SetTouchCanceled"); + pTouchManager->SetTouchCanceled(null); + } + } return true; } else