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 <pierluigi.fiorini@liri.io>
This commit is contained in:
Johan Klokkhammer Helsing 2019-01-02 15:04:23 +01:00 committed by Johan Helsing
parent 08c6462d1b
commit c09a3a27b6

View File

@ -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);