diff --git a/clients/ozone/oxygenclient.cpp b/clients/ozone/oxygenclient.cpp index fc67ccb7cb..22330e2b07 100644 --- a/clients/ozone/oxygenclient.cpp +++ b/clients/ozone/oxygenclient.cpp @@ -51,6 +51,7 @@ #include #include #include +#include #include "math.h" @@ -70,6 +71,12 @@ OxygenHelper *oxygenHelper() return globalHelper; } +static void oxkwincleanupBefore() +{ + OxygenHelper *h = globalHelper; + h->invalidateCaches(); +} + void renderDot(QPainter *p, const QPointF &point, qreal diameter) { p->drawEllipse(QRectF(point.x()-diameter/2, point.y()-diameter/2, diameter, diameter)); @@ -81,6 +88,7 @@ OxygenClient::OxygenClient(KDecorationBridge *b, KDecorationFactory *f) , colorCacheInvalid_(true) , helper_(*globalHelper) { + qAddPostRoutine(oxkwincleanupBefore); } OxygenClient::~OxygenClient()