Touch and Hover event propagrated by geometry way.(3) 38/303738/2
authorjoogab.yun <joogab.yun@samsung.com>
Thu, 4 Jan 2024 05:59:51 +0000 (14:59 +0900)
committerjoogab.yun <joogab.yun@samsung.com>
Thu, 4 Jan 2024 07:03:45 +0000 (16:03 +0900)
Fix typos and improve some logic.

Change-Id: I856b51f9263bea28d714178389b6963b6ccb4c0a

dali/internal/event/events/touch-event-processor.cpp

index 15561ce..9472226 100644 (file)
@@ -497,7 +497,7 @@ bool TouchEventProcessor::ProcessTouchEvent(const Integration::TouchEvent& event
       if(interceptedTouchActor)
       {
         Actor* touchConsumedActor(mLastConsumedActor.GetActor());
-        if(touchConsumedActor) // If there is a consultative actor, send events only to the consultative actor.
+        if(touchConsumedActor) // If there is a consumed actor, send events only to the consumed actor.
         {
           RenderTask& currentRenderTaskImpl = *currentRenderTask.Get();
           consumedActor = EmitTouchSignals(touchConsumedActor, currentRenderTaskImpl, touchEventImpl, primaryPointState, isGeometry);
@@ -533,22 +533,17 @@ bool TouchEventProcessor::ProcessTouchEvent(const Integration::TouchEvent& event
                   mLastRenderTask &&
                   mLastPrimaryPointState != PointState::FINISHED)
           {
-            std::list<Dali::Internal::Actor*> internalActorLists = mCandidateActorLists;
-            while(!internalActorLists.empty())
+            std::list<Dali::Internal::Actor*>::reverse_iterator rIter = mCandidateActorLists.rbegin();
+            for (; rIter != mCandidateActorLists.rend(); rIter++)
             {
-              Actor* actorImpl = internalActorLists.back();
-              // Only emit the signal if the actor's touch signal has connections (or derived actor implementation requires touch).
-              if(actorImpl->GetTouchRequired())
-              {
-                EmitTouchSignals(actorImpl, *mLastRenderTask.Get(), touchEventImpl, PointState::INTERRUPTED, isGeometry);
-              }
-              internalActorLists.pop_back();
+              Actor* actorImpl(*rIter);
+              EmitTouchSignals(actorImpl, *mLastRenderTask.Get(), touchEventImpl, PointState::INTERRUPTED, isGeometry);
             }
           }
         }
 
         Actor* touchConsumedActor(mLastConsumedActor.GetActor());
-        if(touchConsumedActor) // If there is a consultative actor, send events only to the consultative actor.
+        if(touchConsumedActor) // If there is a consumed actor, send events only to the consumed actor.
         {
           RenderTask& currentRenderTaskImpl = *currentRenderTask.Get();
           consumedActor = EmitTouchSignals(touchConsumedActor, currentRenderTaskImpl, touchEventImpl, primaryPointState, isGeometry);