kwin/autotests/integration
Vlad Zagorodniy a281f2bce1 [effects/dialogparent] Fix flickering of parent windows
Summary:
If a modal window is closed and some alternative effect that animates
the disappearing of windows is enabled(e.g. the Glide effect, or the
Scale effect), the Dialog Parent effect can cause flickering of the
parent window because its animation duration doesn't match duration of
those alternative effects.

Also, if the Fade effect, the Glide effect, and the Scale effect are
disabled, the Dialog Parent will keep the parent window alive for no
good reason.

This change addresses that problem by adding keepAlive property to
`animate` function so scripted effects have more control over lifetime
of animated windows.

If both a modal window and its parent window are closed at the same time
(and there is no effect that animates the disappearing of windows), the
Dialog Parent will stop immediately(because windowDeleted will be
emitted right after windowClosed signal).

If both a modal window and its parent window are closed at the same time
(and there is effect that animates the disappearing of windows), the
Dialog Parent won't reference the latter window. Thus, it won't cause
flickering. I.e. it will "passively" animate parent windows.

BUG: 355036
FIXED-IN: 5.15.0

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D14919
2018-10-10 18:34:12 +03:00
..
data
effects [effects/dialogparent] Fix flickering of parent windows 2018-10-10 18:34:12 +03:00
fakes [scenes/opengl] Fix overlapping shadow tiles 2018-06-07 12:07:57 +03:00
helper XdgV6 - Kwin side 2017-09-25 16:47:30 +01:00
scripting Fix minor EBN issues 2018-08-29 21:02:16 +03:00
activities_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
CMakeLists.txt Revert "Disable unit test which fails to compile on the CI system." 2018-06-14 11:31:24 +01:00
colorcorrect_nightcolor_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
debug_console_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
decoration_input_test.cpp [platforms/virtual] Let VirtualOutput inherit Output 2018-08-31 11:56:39 +02:00
desktop_window_x11_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_aurorae_destroy_deco.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_cancel_animation.cpp
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 [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_glxgears.cpp
dont_crash_no_border.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
dont_crash_useractions_menu.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01: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 Don't try to filter null key combinations 2018-04-24 16:35:23 +02:00
idle_inhibition_test.cpp Add support for new IdleInhibition protocol 2017-11-30 21:51:36 +01:00
input_stacking_order.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
internal_window.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
keyboard_layout_test.cpp
keymap_creation_failure_test.cpp
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 Add XDG WmBase support 2018-09-14 12:18:47 +01:00
kwinbindings_test.cpp [autotests] Try making KWinBindingsTest::testSwitchWindowScript more robust 2017-08-13 17:08:49 +02:00
lockscreen.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
maximize_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +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 Clean up includes 2018-08-31 22:58:11 +03:00
no_xdg_runtime_dir_test.cpp
plasma_surface_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
plasmawindow_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
platformcursor.cpp
pointer_constraints_test.cpp Ignore modifier mouse actions when the pointer is constrained 2018-10-06 18:05:32 +02:00
pointer_input.cpp Merge branch 'Plasma/5.13' 2018-07-15 23:05:30 +03:00
quick_tiling_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
scene_opengl_es_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_opengl_shadow_test.cpp [scenes/opengl] Fix overlaps in shadow texture atlas 2018-08-31 17:33:19 +03:00
scene_opengl_test.cpp [autotests] Introduce a SceneOpenGL ES test 2017-06-24 21:05:49 +02:00
scene_qpainter_shadow_test.cpp compare doubles to doubles 2018-06-14 09:21:07 +01:00
scene_qpainter_test.cpp Do not unset cursor image when cursor enters a surface 2018-05-19 08:58:42 +02:00
screen_changes_test.cpp Add XDG Output support 2018-05-18 14:16:13 +01:00
screenedge_client_show_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
shade_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
shell_client_rules_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
shell_client_test.cpp [wayland] Asyncronously update maximise flags 2018-10-05 18:35:24 +03: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 [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
tabbox_test.cpp
test_helpers.cpp [scenes/qpainter] Draw decoration shadows 2018-06-07 12:27:31 +03:00
touch_input_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
transient_no_input_test.cpp
transient_placement.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
virtual_desktop_test.cpp Ensure _NET_CURRENT_DESKTOP is set on startup 2018-03-29 17:50:07 +02:00
window_rules_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
window_selection_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
x11_client_test.cpp Clean up includes 2018-08-31 22:58:11 +03:00
xclipboardsync_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00
xwayland_input_test.cpp [platforms/virtual] Add virtual output class 2018-03-19 22:12:22 +01:00