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 [decorations] Introduce logging category for decorations 2015-07-31 13:13:46 +02:00
decorationpalette.h Adapt to KDecoration API changes 2015-03-31 15:26:55 +02:00
decorationrenderer.cpp Render GL Window decorations at the correct scale 2017-11-01 17:59:11 +00:00
decorationrenderer.h Move the X11 Decoration Renderer into the X11 standalone platform 2017-09-01 17:49:32 +02:00
decorations_logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
decorations_logging.h [decorations] Introduce logging category for decorations 2015-07-31 13:13:46 +02:00
settings.cpp [decorations] Emit DecorationSettings::fontChanged signal 2018-11-15 22:08:41 +02:00
settings.h [decorations] Emit DecorationSettings::fontChanged signal 2018-11-15 22:08:41 +02:00