diff --git a/decorations/decorationbridge.cpp b/decorations/decorationbridge.cpp index 196a683a31..c5dea83c3a 100644 --- a/decorations/decorationbridge.cpp +++ b/decorations/decorationbridge.cpp @@ -25,6 +25,7 @@ along with this program. If not, see . #include "client.h" #include "composite.h" #include "scene.h" +#include "workspace.h" // KDecoration #include @@ -115,8 +116,10 @@ std::unique_ptr DecorationBridge::setti void DecorationBridge::update(KDecoration2::Decoration *decoration, const QRect &geometry) { // TODO: remove check once all compositors implement it - if (Renderer *renderer = static_cast(decoration->client()->handle())->renderer()) { - renderer->schedule(geometry); + if (Client *c = Workspace::self()->findClient([decoration] (const Client *client) { return client->decoration() == decoration; })) { + if (Renderer *renderer = c->decoratedClient()->renderer()) { + renderer->schedule(geometry); + } } }