kwin/autotests
Vlad Zagorodniy 295138145c Make sure that effect windows outlive effects
Summary:
Compositing is suspended/finished in a very hard way fashion, effect
windows are destroyed without notifying effects about it.

AnimationEffect tries gracefully release deleted windows, but because
in some cases(like when suspending compositing) a deleted window can
be already destroyed, a segmentation fault can happen.

This change adjusts the order in which effect windows and effects are
destroyed, so AnimationEffect (and other effects) cannot access dangling
pointers.

BUG: 400788
FIXED-IN: 5.15.0

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: graesslin, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17311
2018-12-02 19:59:53 +02:00
..
drm [autotests] Support new way to run the tests without need to install 2017-11-21 20:34:52 +01:00
integration Make sure that effect windows outlive effects 2018-12-02 19:59:53 +02:00
libinput Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
libkwineffects [libkwineffects] Introduce timeline redirect modes 2018-11-17 13:43:39 +02:00
libxrenderutils Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
tabbox Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
abstract_client.h Fix minor EBN issues 2018-08-29 21:02:16 +03:00
client.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
CMakeLists.txt [wayland] Use the new plasma virtual desktop protocol 2018-11-01 16:35:29 +01:00
fakeeffectplugin.cpp [kwin] Add a PluginEffectLoader 2014-03-28 14:04:54 +01:00
fakeeffectplugin.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
fakeeffectplugin_version.cpp [kwin] Adapt to KPluginFactory change 2014-03-28 19:50:46 +00:00
fakeeffectplugin_version.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
mock_abstract_client.cpp Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_abstract_client.h Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_client.cpp Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_client.h Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_effectshandler.cpp Add a KSharedConfigPtr for kcminputrc to KWin::Application 2017-04-24 21:01:03 +02:00
mock_effectshandler.h [wayland] add enter/leave virtual desktop API 2018-11-14 11:08:46 +00:00
mock_screens.cpp Warnings--: unused parameters 2015-06-12 17:17:21 +02:00
mock_screens.h add Screens::name(int screen); STUB but for XRandr 2015-05-15 23:55:27 +02:00
mock_workspace.cpp [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
mock_workspace.h Move XRandR event filter into XRandRScreens 2017-09-12 18:53:08 +02:00
onscreennotificationtest.cpp Fade out OnScreenNotification when moving with the mouse over it 2017-01-04 18:04:15 +01:00
onscreennotificationtest.h Introduce a KWin internal on-screen-notification service 2016-12-21 19:43:49 +01:00
opengl_context_attribute_builder_test.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_builtin_effectloader.cpp [effects/dimscreen] Port to JavaScript 2018-11-17 13:44:20 +02:00
test_client_machine.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_gbm_surface.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_gestures.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_plugin_effectloader.cpp [autotests] Test all scripted effects 2018-11-21 20:01:06 +02:00
test_screen_edges.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screen_paint_data.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screens.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_scripted_effectloader.cpp [autotests] Test all scripted effects 2018-11-21 20:01:06 +02:00
test_virtual_desktops.cpp [wayland] Use the new plasma virtual desktop protocol 2018-11-01 16:35:29 +01:00
test_virtualkeyboard_dbus.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_window_paint_data.cpp [libkwineffects] Replace property name lookup with calling the virtual methods 2018-11-30 11:22:20 +00:00
test_x11_timestamp_update.cpp [autotests] Support new way to run the tests without need to install 2017-11-21 20:34:52 +01:00
test_xcb_size_hints.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xcb_window.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xcb_wrapper.cpp Fix minor EBN issues 2018-08-29 21:02:16 +03:00
test_xkb.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xrandr_screens.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
testutils.h [autotests] Fix unused function warnings 2017-07-29 18:47:58 +02:00
workspace.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00