diff --git a/dde-dock/Widgets/windowpreview.cpp b/dde-dock/Widgets/windowpreview.cpp index e50c23c01..748c466f3 100644 --- a/dde-dock/Widgets/windowpreview.cpp +++ b/dde-dock/Widgets/windowpreview.cpp @@ -72,10 +72,11 @@ void WindowPreview::updateCache() cache.setPixel(x, y, pixel); } } + + XDestroyImage(image); - cache = cache.scaledToWidth(width(), Qt::SmoothTransformation); - - m_cache = new QImage(cache); + QImage cacheScaled = cache.scaledToWidth(width(), Qt::SmoothTransformation); + m_cache = new QImage(cacheScaled); } } }