9a68cbd9b1
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 |
||
---|---|---|
.. | ||
decoratedclient.cpp | ||
decoratedclient.h | ||
decorationbridge.cpp | ||
decorationbridge.h | ||
decorationpalette.cpp | ||
decorationpalette.h | ||
decorationrenderer.cpp | ||
decorationrenderer.h | ||
decorations_logging.cpp | ||
decorations_logging.h | ||
settings.cpp | ||
settings.h |