Bug 386231

Summary: [Wayland] After touch input, hover effect remains on maximize/restore button until I move cursor on window decoration
Product: [Plasma] kwin Reporter: Patrick Silva <bugseforuns>
Component: inputAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: nate
Priority: NOR Keywords: reproducible
Version: unspecifiedFlags: mgraesslin: Wayland+
mgraesslin: X11-
mgraesslin: ReviewRequest+
Target Milestone: ---   
Platform: Other   
OS: Linux   
URL: https://phabricator.kde.org/D10308
Latest Commit: Version Fixed In: 5.12.3

Description Patrick Silva 2017-10-27 05:16:54 UTC
neon dev unstable here...
start wayland session
open dolphin window and touch its maximize/restore button (note that hover effect remains on the button)
Move your cursor on window decoration: hover effect disappears
Comment 1 Martin Flöser 2017-10-27 07:24:44 UTC
Touch as in touchscreen? In that situation it performs the action?
Comment 2 Patrick Silva 2017-10-27 12:20:50 UTC
yes, I use a touch screen.
Comment 3 Martin Flöser 2017-10-27 13:42:12 UTC
Good, good. I'd say the hover in first place doesn't make much sense. But in any case we must send a leave event on touch up. I expect to be relatively easy to fix.
Comment 4 Martin Flöser 2017-11-01 09:04:49 UTC
I tried on my touch screen system and can reproduce the issue.
Comment 5 Patrick Silva 2018-01-26 16:33:05 UTC
still reproducible on neon dev unstable.
Comment 6 Martin Flöser 2018-02-04 20:25:10 UTC
Patch at https://phabricator.kde.org/D10308
Comment 7 Martin Flöser 2018-02-25 13:11:17 UTC
Git commit 911176a887be639a1e123a3c633fb05870fda33d by Martin Flöser.
Committed on 25/02/2018 at 12:54.
Pushed by graesslin into branch 'Plasma/5.12'.

Send hoverLeave or hoverMotion after touch up on decoration

Summary:
On touch down a first hover motion is sent to the decoration. Thus e.g. a
button enters the hovered state. On touch release so far the decoration
did not get a leave event resulting in the button still being hovered.

This change ensures the leave event is sent or if the pointer is also on
the decoration a motion to the pointer position is sent.
FIXED-IN: 5.12.3

Test Plan:
New test case and manual testing to verify that the maximize
button is no longer hovered after touch down/up on it

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D10308

M  +77   -0    autotests/integration/decoration_input_test.cpp
M  +1    -1    autotests/integration/quick_tiling_test.cpp
M  +10   -0    input.cpp

https://commits.kde.org/kwin/911176a887be639a1e123a3c633fb05870fda33d