kwin/plugins/qpa
Martin Flöser 962a2e39ee [qpa] Prevent crash due to Surface getting null
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

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6533
2017-07-06 19:14:15 +02:00
..
abstractplatformcontext.cpp
abstractplatformcontext.h
backingstore.cpp [qpa] Prevent crash due to Surface getting null 2017-07-06 19:14:15 +02:00
backingstore.h
CMakeLists.txt
integration.cpp
integration.h
kwin.json
main.cpp
nativeinterface.cpp [qpa] Prevent crash due to Surface getting null 2017-07-06 19:14:15 +02:00
nativeinterface.h
platformcontextwayland.cpp
platformcontextwayland.h
platformcursor.cpp
platformcursor.h
screen.cpp Implement high DPI support in KWin QPA 2017-04-28 10:23:14 +01:00
screen.h Implement high DPI support in KWin QPA 2017-04-28 10:23:14 +01:00
sharingplatformcontext.cpp
sharingplatformcontext.h
window.cpp [plugins/qpa] Do not replace a valid FBO with an invalid one 2017-04-22 08:17:33 +02:00
window.h