kwin/autotests/integration
Martin Flöser e1afef3d45 Sanity check WindowQuad before trying to create a grid out of it
Summary:
When one uses:
 * breeze as of 5.12
 * wobbly windows
 * shaded window
 * a distribution building with assert enabled

and starts to move a shaded window, KWin asserts. The root cause for
this is that WindowQuad::makeSubQuad has an assert for y1 being smaller
than y2. With the combination listed above this is not guaranteed. For
the left shadow quad the y1 and y2 are identical and thus trying to
split it, results in the assert condition.

The problem of the shadow quad having an invalid size might be addressed
as well with D10811. Due to that the generation of the quads is not
touched. Instead a sanity check is introduced to not try to split
already invalid sized quads.

BUG: 390953
FIXED-IN: 5.12.3

Test Plan: Added unit test hit the assert, now doesn't hit it any more

Reviewers: #kwin, #plasma

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D11015
2018-03-05 19:31:51 +01:00
..
data Add support for desktopFileName provided by NETWinInfo 2016-10-31 13:19:46 +01:00
effects Sanity check WindowQuad before trying to create a grid out of it 2018-03-05 19:31:51 +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 Don't crash if the cursor theme fails to create 2018-03-04 09:42:27 +01:00
colorcorrect_nightcolor_test.cpp [colorcorrection] Night Color - blue light filter at nighttime 2017-12-11 10:58:40 +01:00
debug_console_test.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
decoration_input_test.cpp Send hoverLeave or hoverMotion after touch up on decoration 2018-02-25 13:54:02 +01:00
desktop_window_x11_test.cpp Force windows of type desktop to be opaque 2016-08-10 15:10:22 +02:00
dont_crash_aurorae_destroy_deco.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
dont_crash_cancel_animation.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
dont_crash_cursor_physical_size_empty.cpp Don't crash if the cursor theme fails to create 2018-03-04 09:42:27 +01:00
dont_crash_empty_deco.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
dont_crash_glxgears.cpp Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
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
idle_inhibition_test.cpp Add support for new IdleInhibition protocol 2017-11-30 21:51:36 +01:00
input_stacking_order.cpp [autotests/integration] Use socketpair for Wayland connection 2016-12-15 21:31:27 +01:00
internal_window.cpp Support modifier mouse/scroll action on internal decorated windows 2018-03-04 09:41:38 +01: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 [autotests] Set breeze icon theme name in integration tests 2018-02-27 18:17:53 +01:00
kwin_wayland_test.h [autotests/integration] Add test for broken quick tiling for xdg_shell 2018-01-21 11:13:28 +01: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 Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
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 Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
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 Send hoverLeave or hoverMotion after touch up on decoration 2018-02-25 13:54:02 +01: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 Handle situation of no XDG_RUNTIME_DIR gracefully 2016-07-13 10:00:46 +02:00
shell_client_rules_test.cpp Add support for initial apply rules for skip (taskbar|pager|switcher) 2018-01-14 11:19:47 +01:00
shell_client_test.cpp Init the icon in ShellClient::init 2018-02-25 13:15:17 +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 Port to new AppMenu iface 2017-12-22 14:38:31 +00: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 remove xdgv6 use from 5.11 branch 2017-10-02 08:49:37 +01: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 Keep fullscreen windows in active layer based on transients not the group 2018-01-10 17:44:00 +01:00
xclipboardsync_test.cpp [autotests] Support new way to run the tests without need to install 2017-11-21 20:34:52 +01:00
xwayland_input_test.cpp Warp the xcb pointer whenever pointer leaves an X11 surface 2016-08-24 13:12:06 +02:00