From 8d5b7df0b6340ba6a9b7c500fa430e5a2a3a4e15 Mon Sep 17 00:00:00 2001 From: Joni Poikelin Date: Thu, 22 Oct 2020 15:21:34 +0300 Subject: Mark changed regions dirty instead of bounding box of changes This helps a bit with LinuxFB on low end devices. Change-Id: I16fcce23e7073272d1d1c6bc660c255163b96c30 Fixes: QTBUG-88174 Reviewed-by: Laszlo Agocs --- src/platformsupport/fbconvenience/qfbwindow.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/platformsupport') diff --git a/src/platformsupport/fbconvenience/qfbwindow.cpp b/src/platformsupport/fbconvenience/qfbwindow.cpp index 9f5f87d9d6..f02721dce4 100644 --- a/src/platformsupport/fbconvenience/qfbwindow.cpp +++ b/src/platformsupport/fbconvenience/qfbwindow.cpp @@ -138,14 +138,14 @@ void QFbWindow::lower() void QFbWindow::repaint(const QRegion ®ion) { const QRect currentGeometry = geometry(); - const QRect dirtyClient = region.boundingRect(); - const QRect dirtyRegion = dirtyClient.translated(currentGeometry.topLeft()); const QRect oldGeometryLocal = mOldGeometry; mOldGeometry = currentGeometry; // If this is a move, redraw the previous location if (oldGeometryLocal != currentGeometry) platformScreen()->setDirty(oldGeometryLocal); - platformScreen()->setDirty(dirtyRegion); + auto topLeft = currentGeometry.topLeft(); + for (auto rect : region) + platformScreen()->setDirty(rect.translated(topLeft)); } QT_END_NAMESPACE -- cgit v1.2.3