kwin/autotests
Martin Gräßlin 921e27257c [wayland] Ensure that pointer enter event carries the correct coordinates
So far KWin's pointer surface enter handling was:
1. update fouced surface
2. update the global position

On client side this resulted in:
1. Enter with incorrect coordinates
2. move event to correct coordinate

With QtWayland this results in the case of multiple surfaces in one
application that Qt doesn't properly process the enter event and the
Window never getting pointer focus and not reacting on any pointer
input events.

The root problem is that the KWayland server API is not ideal for
supporting this situation. There is an API call for setting the global
position (which causes a pointer motion for the focused surface) and
an API call to update the focused surface. But a combination for both
is (still) missing.

This change addresses the problem by first unsetting the entered surface,
then updating the global position and afterwards setting the new surface.
Thus the position is correct. While this needs to be made better in
KWayland, this is an urgency bug fix to get the behavior correct and thus
first working around the API deficit and not first extending in KWayland.

Reviewed-By: bshah
2016-08-08 13:38:43 +02:00
..
libinput [libinput] A not valid LibInput::Context should return -1 as filedescriptor 2016-06-02 16:23:23 +02:00
libxrenderutils [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
wayland [wayland] Ensure that pointer enter event carries the correct coordinates 2016-08-08 13:38:43 +02:00
abstract_client.h
client.h
CMakeLists.txt [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
fakeeffectplugin.cpp
fakeeffectplugin.json
fakeeffectplugin_version.cpp
fakeeffectplugin_version.json
mock_abstract_client.cpp Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_abstract_client.h Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_client.cpp Add hint similar to autohide to raise/lower a window 2015-10-12 10:37:16 +01:00
mock_client.h
mock_effectshandler.cpp
mock_effectshandler.h support the slide protocol 2015-09-14 16:39:39 +02:00
mock_screens.cpp
mock_screens.h
mock_workspace.cpp
mock_workspace.h
test_builtin_effectloader.cpp [autotests] Dashboard is no longer available 2015-10-19 14:17:04 +02:00
test_client_machine.cpp
test_plugin_effectloader.cpp Cancel the EffectLoader query on clear 2016-04-26 15:01:15 +02:00
test_screen_edges.cpp [autotest] Remove workaround in ScreenEdgeTest with Qt 5.6.1 2016-04-26 15:51:16 +02:00
test_screen_paint_data.cpp
test_screens.cpp Port left over qDebug to qCDebug 2015-07-31 13:25:51 +02:00
test_scripted_effectloader.cpp Cancel the EffectLoader query on clear 2016-04-26 15:01:15 +02:00
test_virtual_desktops.cpp
test_window_paint_data.cpp
test_xcb_size_hints.cpp
test_xcb_window.cpp
test_xcb_wrapper.cpp tests test tests, not code 2015-08-27 22:20:16 +02:00
test_xrandr_screens.cpp [autotests] Use -displayfd as argument to start Xephyr 2016-05-03 08:13:04 +02:00
testutils.h
workspace.h