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);
+ }
}
}