D10549: Don't crash if the cursor theme fails to create
Martin Flöser
noreply at phabricator.kde.org
Thu Feb 15 17:08:38 UTC 2018
graesslin created this revision.
graesslin added reviewers: KWin, Plasma.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.
graesslin requested review of this revision.
Restricted Application edited projects, added Plasma; removed KWin.
REVISION SUMMARY
If the cursor theme failed to create KWin crashed due to an endless
recursion. There are two reasons for this fault:
1. When the physical size does not exist we perform a division by 0
which results in an invalid size going into wl_cursor_theme_load
2. We emit the signal that the cursor theme changed even if it didn't
change thus creating an endless recursion
This change addresses both problems: it checks that the size is not 0
and changes the handling for theme update to only destroy the previous
theme if the new theme could be created and only emits the signal if
things change.
BUG: 390314
FIXED-IN: 5.12.2
TEST PLAN
Added a new test case which crashed with old code
REPOSITORY
R108 KWin
BRANCH
dont-crash-cursor-theme-failure
REVISION DETAIL
https://phabricator.kde.org/D10549
AFFECTED FILES
autotests/integration/CMakeLists.txt
autotests/integration/dont_crash_cursor_physical_size_empty.cpp
wayland_cursor_theme.cpp
To: graesslin, #kwin, #plasma
Cc: plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180215/bfeec085/attachment.html>
More information about the Plasma-devel
mailing list