kwin/decorations
Vlad Zagorodniy 9a68cbd9b1 Don't destroy DecorationRenderer in setup/finish compositing
Summary:
Currently, KWin/Wayland crashes when the compositor is reinitialized.
The reason for that is ShellClient's DecorationRenderer gets destroyed
when the scene is already gone, thus there is no current OpenGL context.
Client works around that issue by destroying scene-specific DecorationRender
in finishCompositing. Such a workaround could be applied to ShellClient
as well, but it would make code more confusing because DecoratedClientImpl
also tries to destroy DecorationRenderer.

A better approach would be to notify DecoratedClientImpl that
compositing is about to be finished, so it can destroy the decoration
renderer when the scene is still alive. This not only fixes the
previously mentioned issue in ShellClient, but also makes code a little
bit tidier.

Test Plan:
Start Plasma on Wayland session, change any compositor settings (e.g.
animation speed).

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18921
2019-02-20 15:09:37 +02:00
..
decoratedclient.cpp Don't destroy DecorationRenderer in setup/finish compositing 2019-02-20 15:09:37 +02:00
decoratedclient.h Don't destroy DecorationRenderer in setup/finish compositing 2019-02-20 15:09:37 +02:00
decorationbridge.cpp support decorations from lookandfeel 2019-01-16 10:40:54 +01:00
decorationbridge.h support decorations from lookandfeel 2019-01-16 10:40:54 +01:00
decorationpalette.cpp
decorationpalette.h
decorationrenderer.cpp
decorationrenderer.h
decorations_logging.cpp
decorations_logging.h
settings.cpp
settings.h