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