kwin/plugins
Vlad Zagorodniy 3ad5604580 [scenes/opengl] Cleanup cached decoration shadow textures when suspending compositing
Summary:
When suspending compositing, SceneOpenGLShadow cannot cleanup cached
decoration shadow textures because the effects handler is already gone.

This sometimes can result in a crash when running kwin_x11 --replace
(we're hitting an assert statement).

To fix that, let's use the scene instead of the effects handler for
making the OpenGL context current.

Test Plan:
No longer hit the assert statement:

    ASSERT: "m_cache.isEmpty()" in file /home/vlad/Workspace/KDE/src/kde/workspace/kwin/plugins/scenes/opengl/scene_opengl.cpp, line 2025
    Application::crashHandler() called with signal 6; recent crashes: 1
    QCoreApplication::applicationFilePath: Please instantiate the QApplication object first
    KCrash: crashing... crashRecursionCounter = 2
    KCrash: Application Name = kwin_x11 path = /home/vlad/Workspace/KDE/usr/bin pid = 5407
    KCrash: Arguments: /home/vlad/Workspace/KDE/usr/bin/kwin_x11 --replace

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17306
2018-12-02 19:59:07 +02:00
..
idletime Build KF5IdleTimeKWinWaylandPrivatePlugin in correct directory 2018-11-09 17:39:29 +01:00
kdecorations SVN_SILENT made messages (.desktop file) - always resolve ours 2018-11-22 06:02:11 +01:00
kglobalaccel
platforms Add output orientation size helper 2018-11-14 20:05:39 +01:00
qpa Remove unused private Qt include 2018-11-04 17:02:19 +01:00
scenes [scenes/opengl] Cleanup cached decoration shadow textures when suspending compositing 2018-12-02 19:59:07 +02:00
CMakeLists.txt