From c09a3a27b6c50c76e7cee3e0b8e7478fb6fce7a0 Mon Sep 17 00:00:00 2001 From: Johan Klokkhammer Helsing Date: Wed, 2 Jan 2019 15:04:23 +0100 Subject: [PATCH] Client: Fix incorrect damage for decoration edges [ChangeLog][QPA plugin] Fixed a bug where surface damage for window decorations was outside the surface. Fixes: QTBUG-72818 Change-Id: I32d00174f1c308952a98bdb55731eb77be54f331 Reviewed-by: Pier Luigi Fiorini --- src/plugins/platforms/wayland/qwaylandabstractdecoration.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/wayland/qwaylandabstractdecoration.cpp b/src/plugins/platforms/wayland/qwaylandabstractdecoration.cpp index 479a857502f..6a8f1d92d92 100644 --- a/src/plugins/platforms/wayland/qwaylandabstractdecoration.cpp +++ b/src/plugins/platforms/wayland/qwaylandabstractdecoration.cpp @@ -100,6 +100,7 @@ void QWaylandAbstractDecoration::setWaylandWindow(QWaylandWindow *window) d->m_wayland_window = window; } +// \a size is without margins static QRegion marginsRegion(const QSize &size, const QMargins &margins) { QRegion r; @@ -123,7 +124,7 @@ const QImage &QWaylandAbstractDecoration::contentImage() d->m_decorationContentImage.fill(Qt::transparent); this->paint(&d->m_decorationContentImage); - QRegion damage = marginsRegion(window()->frameGeometry().size(), window()->frameMargins()); + QRegion damage = marginsRegion(window()->geometry().size(), window()->frameMargins()); for (QRect r : damage) waylandWindow()->damage(r);