From 5882312b045cc1dbc09a0323af870846340bde67 Mon Sep 17 00:00:00 2001 From: minkyu kim Date: Mon, 24 Jun 2013 16:07:29 +0900 Subject: [PATCH] N_SE-42374 : check validity of gesture before handling OnTimerExpired Change-Id: Ie358394a78adb0b11f974e75217a496983510890 --- src/ui/FUi_TouchGestureTimerManager.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/ui/FUi_TouchGestureTimerManager.cpp b/src/ui/FUi_TouchGestureTimerManager.cpp index 6a44708..812603e 100644 --- a/src/ui/FUi_TouchGestureTimerManager.cpp +++ b/src/ui/FUi_TouchGestureTimerManager.cpp @@ -57,6 +57,38 @@ public: if (pGestureDetector) { + _Control* pControl = pGestureDetector->GetControl(); + SysTryReturnVoidResult(NID_UI, pControl, E_SYSTEM, "[E_SYSTEM] System error occurred."); + + Tizen::Base::Collection::IListT<_TouchGestureDetector*>* pGestureList = pControl->GetGestureDetectorList(); + if (!pGestureList || (pGestureList && (pGestureList->GetCount() <= 0))) + { + return; + } + + IEnumeratorT<_TouchGestureDetector*>* pEnumerator = pGestureList->GetEnumeratorN(); + SysTryReturnVoidResult(NID_UI, pEnumerator, E_SYSTEM, "[E_SYSTEM] System error occurred."); + + bool gestureExist = false; + + while (pEnumerator->MoveNext() == E_SUCCESS) + { + _TouchGestureDetector* pTempGestureDetector = null; + pEnumerator->GetCurrent(pTempGestureDetector); + + if (pGestureDetector == pTempGestureDetector) + { + gestureExist = true; + } + } + + delete pEnumerator; + + if (gestureExist == false) + { + return; + } + switch(pGestureDetector->GetDetectorType()) { case _TOUCH_GESTURE_DETECTOR_TYPE_TAP: -- 2.7.4