D6533: [qpa] Prevent crash due to Surface getting null
Martin Flöser
noreply at phabricator.kde.org
Thu Jul 6 17:12:00 UTC 2017
graesslin created this revision.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.
REVISION SUMMARY
This is a regression due to changes in Breeze to support Qt 5.8+ behavior
change. KWin's own QPA operates like < Qt 5.7 and breeze was programmed
against that. Due to that it can happen now that Breeze hits code paths
in which KWin does not have a surface.
To trigger one only needed to open the user actions menu twice.
This change adds a test case which simulates the problem and fixes all
crashes happening in the code path.
Most likely shadows are now broken for KWin's own windows, this change is
only to prevent the crash and thus is for 5.10 branch, while shadow
fixing will go to master branch.
BUG: 382063
FIXED-IN: 5.10.4
TEST PLAN
New test case
REPOSITORY
R108 KWin
BRANCH
qpa-verify-surface-5.10
REVISION DETAIL
https://phabricator.kde.org/D6533
AFFECTED FILES
autotests/integration/CMakeLists.txt
autotests/integration/dont_crash_useractions_menu.cpp
plugins/qpa/backingstore.cpp
plugins/qpa/nativeinterface.cpp
To: graesslin, #kwin, #plasma
Cc: plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170706/68e9c06c/attachment-0001.html>
More information about the Plasma-devel
mailing list