From: minkyu kim Date: Mon, 24 Jun 2013 07:07:29 +0000 (+0900) Subject: N_SE-42374 : check validity of gesture before handling OnTimerExpired X-Git-Tag: accepted/tizen/20130924.144426~1^2~373^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5882312b045cc1dbc09a0323af870846340bde67;p=platform%2Fframework%2Fnative%2Fuifw.git N_SE-42374 : check validity of gesture before handling OnTimerExpired Change-Id: Ie358394a78adb0b11f974e75217a496983510890 --- 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: