summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
diff options
context:
space:
mode:
authorJoni Poikelin <joni.poikelin@qt.io>2020-10-22 15:21:34 +0300
committerJoni Poikelin <joni.poikelin@qt.io>2020-11-04 13:38:19 +0200
commit8d5b7df0b6340ba6a9b7c500fa430e5a2a3a4e15 (patch)
tree4d09afb998fabe6b79ce55fd4f3114894c813e89 /src/platformsupport
parent039d3fe4e884c3680cb21d89deba7857dde1269c (diff)
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 <laszlo.agocs@qt.io>
Diffstat (limited to 'src/platformsupport')
-rw-r--r--src/platformsupport/fbconvenience/qfbwindow.cpp6
1 files changed, 3 insertions, 3 deletions
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 &region)
{
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