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 |
||
---|---|---|
.. | ||
drm | ||
integration | ||
libinput | ||
libkwineffects | ||
libxrenderutils | ||
tabbox | ||
abstract_client.h | ||
client.h | ||
CMakeLists.txt | ||
fakeeffectplugin.cpp | ||
fakeeffectplugin.json | ||
fakeeffectplugin_version.cpp | ||
fakeeffectplugin_version.json | ||
mock_abstract_client.cpp | ||
mock_abstract_client.h | ||
mock_client.cpp | ||
mock_client.h | ||
mock_effectshandler.cpp | ||
mock_effectshandler.h | ||
mock_screens.cpp | ||
mock_screens.h | ||
mock_workspace.cpp | ||
mock_workspace.h | ||
onscreennotificationtest.cpp | ||
onscreennotificationtest.h | ||
opengl_context_attribute_builder_test.cpp | ||
test_builtin_effectloader.cpp | ||
test_client_machine.cpp | ||
test_gbm_surface.cpp | ||
test_gestures.cpp | ||
test_plugin_effectloader.cpp | ||
test_screen_edges.cpp | ||
test_screen_paint_data.cpp | ||
test_screens.cpp | ||
test_scripted_effectloader.cpp | ||
test_virtual_desktops.cpp | ||
test_virtualkeyboard_dbus.cpp | ||
test_window_paint_data.cpp | ||
test_x11_timestamp_update.cpp | ||
test_xcb_size_hints.cpp | ||
test_xcb_window.cpp | ||
test_xcb_wrapper.cpp | ||
test_xkb.cpp | ||
test_xrandr_screens.cpp | ||
testutils.h | ||
workspace.h |