https://bugs.kde.org/show_bug.cgi?id=467426

Fushan Wen <qydwhotm...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/plasma-workspace/-/commi |ma/plasma-workspace/-/commi
                   |t/b5ee178bc7d6bd5958f433592 |t/9bdc101051d878addad8f5952
                   |fb2983228a2453e             |1a0b0d72be9e61f

--- Comment #11 from Fushan Wen <qydwhotm...@gmail.com> ---
Git commit 9bdc101051d878addad8f59521a0b0d72be9e61f by Fushan Wen.
Committed on 22/07/2023 at 07:45.
Pushed by fusionfuture into branch 'Plasma/5.27'.

TriangleMouseFilter: fix incorrect handling of hover events and inactive state

1. Even if inactive, we still need to record the current item so when active
becomes
   true after the child item is hovered, the filter can still work correctly.
2. When resetTimer is still active (waiting), the saved item may
   already have changed, so don't eat the event when the timer is
   still running. This fixes containsMouse not updating correctly.

Explanation:

When the previous HoverEnter is still blocked by the timer, a new HoverEnter
arrives but Qt doesn't send a HoverLeave if the previous item hasn't received
a HoverEnter, so sometimes m_interceptedHoverItem is not reset before the new
item's HoverEnter arrives.

And the new item's HoverEnter can arrive after the timer is triggered, so the
old item also receives a HoverEnter and thus the old item wrongly thinks it's
hovered.

This also moves all relevant properties to a unified struct, so when
resetting items, relevant properties will also be reset.
FIXED-IN: 5.27.7
(cherry picked from commit b5ee178bc7d6bd5958f433592fb2983228a2453e)

M  +34   -29   components/trianglemousefilter/trianglemousefilter.cpp
M  +28   -6    components/trianglemousefilter/trianglemousefilter.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/9bdc101051d878addad8f59521a0b0d72be9e61f

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to