kwin/autotests/integration
Martin Flöser abedb464d5 [QPA] Implement Screen on top of internal Screens API
Summary:
The test DontCrashUseractionsMenu (Waylandonly) found an issue in our
screen handling implementation in the QPA. The code exposed a short time
frame between the dummy screen getting destroyed and the first screen
being added. This could result in a crash of KWin.

There is actually no need to implement Screen on top of Wayland screen.
KWin has all the knowledge, so we can also base this on top of the
Screens API.

Advantages:
 * no delays due to Wayland roundtrips
 * handle screen getting removed (was a TODO)
 * handle resolution changes (was a TODO)

The new implementation has a disadvantage that it destroys and readds
all screens whenever something around the screen changes. This shouldn't
be an issue in practice as it's only for the internal QPA and thus only
affects KWin internal windows which is placed in global coordinates
anyway. If it turns out to be a problem we need to track better the
screen changes - so far those were not tracked at all.

Test Plan: Run a few unit tests which change screens

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D8345
2017-10-19 18:03:10 +02:00
..
data Add support for desktopFileName provided by NETWinInfo 2016-10-31 13:19:46 +01:00
effects XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
helper XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
scripting [autotests] Fix touch screen edge test after setting a default 2017-05-02 21:17:41 +02:00
activities_test.cpp [autotests] Wrap integration tests in dbus-session-run 2016-09-14 07:59:14 +02:00
CMakeLists.txt [QPA] Implement Screen on top of internal Screens API 2017-10-19 18:03:10 +02:00
debug_console_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
decoration_input_test.cpp XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
desktop_window_x11_test.cpp
dont_crash_aurorae_destroy_deco.cpp
dont_crash_cancel_animation.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
dont_crash_empty_deco.cpp
dont_crash_glxgears.cpp
dont_crash_no_border.cpp XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
dont_crash_useractions_menu.cpp [autotests] Ensure TestDontCrashUseractionsMenu uses breeze 2017-07-08 10:47:17 +02:00
generic_scene_opengl_test.cpp [autotests] Drop cast to SceneOpenGL GenericSceneOpenGLTest 2017-09-08 16:06:33 +02:00
generic_scene_opengl_test.h [autotests] Test creating core context profile 2017-06-25 09:48:46 +02:00
globalshortcuts_test.cpp [autotests] Force more tests to use evdev as XKB_DEFAULT_RULES 2017-09-18 21:05:34 +02:00
input_stacking_order.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
internal_window.cpp Delay syncing internal window geometry to end of cycle 2017-09-07 19:06:54 +02:00
keyboard_layout_test.cpp Add support for keyboard layout switching policy "winclass" 2017-04-22 08:15:59 +02:00
keymap_creation_failure_test.cpp Better handle cases when the xkb keymap fails to be created 2017-06-18 21:04:58 +02:00
kwin_wayland_test.cpp Ensure Workspace is only started once in Wayland-only mode 2017-10-01 09:06:51 +02:00
kwin_wayland_test.h Ensure Workspace is only started once in Wayland-only mode 2017-10-01 09:06:51 +02:00
kwinbindings_test.cpp [autotests] Try making KWinBindingsTest::testSwitchWindowScript more robust 2017-08-13 17:08:49 +02:00
lockscreen.cpp [autotests] Fix LockScreenTest::testKeyboardShortcut 2017-01-18 20:24:17 +01:00
maximize_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
modifier_only_shortcut_test.cpp [autotests] Force XKB_DEFAULT_RULES to evdev in ModifierOnlyShortcutsTest 2017-09-17 20:54:32 +02:00
move_resize_window_test.cpp XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
no_xdg_runtime_dir_test.cpp
plasma_surface_test.cpp Fix placement of KSplash 2017-10-15 16:41:31 +02:00
plasmawindow_test.cpp [autotests] Try to make PlasmaWindowTest::testCreateDestroyX11PlasmaWindow more robust 2017-07-25 21:19:11 +02:00
platformcursor.cpp
pointer_constraints_test.cpp XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
pointer_input.cpp [autotests] Try to detect whether distro calls cursor theme DMZ-White or Vanilla-DMZ 2017-09-24 14:53:55 +02:00
quick_tiling_test.cpp [autotests] Force more tests to use evdev as XKB_DEFAULT_RULES 2017-09-18 21:05:34 +02:00
scene_opengl_es_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_opengl_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_qpainter_test.cpp XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
screen_changes_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
screenedge_client_show_test.cpp [autotest] Disable default TabBox on touch screen edge in ScreenEdgeClientShowTest 2017-06-19 21:54:11 +02:00
shade_test.cpp
shell_client_rules_test.cpp Support initial minimize rule in ShellClient 2017-10-19 18:00:42 +02:00
shell_client_test.cpp XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
showing_desktop_test.cpp Restore active client after ending showing desktop 2017-07-01 08:20:01 +02:00
start_test.cpp [autotests] Try making StartTest more robust on FreeBSD 2017-09-23 15:17:19 +02:00
struts_test.cpp [autotests] Try making StrutsTest::testWindowMoveWithPanelBetweenScreens more robust 2017-08-09 17:54:42 +02:00
tabbox_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
test_helpers.cpp XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
touch_input_test.cpp Add workaround for touch input offset for decorated windows 2017-01-25 13:58:28 +01:00
transient_no_input_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
transient_placement.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
virtual_desktop_test.cpp Also send Wayland clients to a new desktop if their desktop was removed 2017-10-01 11:04:05 +02:00
window_rules_test.cpp Match window role in Rules in a case insensitive manner 2016-09-13 08:37:26 +02:00
window_selection_test.cpp [autotests] Force more tests to use evdev as XKB_DEFAULT_RULES 2017-09-18 21:05:34 +02:00
x11_client_test.cpp Properly update the visible (icon) name when the caption changes 2017-09-23 11:50:48 +02:00
xclipboardsync_test.cpp
xwayland_input_test.cpp Warp the xcb pointer whenever pointer leaves an X11 surface 2016-08-24 13:12:06 +02:00