summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2016-09-20 15:39:31 +0200
committerTor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>2016-09-27 20:59:14 +0000
commit8a2557fbb7a0202a3de3846d10ed57d2d93e6de2 (patch)
tree4a76b06c77a6c525feb3d37e65678615815b036b /src/platformsupport
parentaaf16b2f4367cf3ab1c4c025093806242ecd03eb (diff)
Pick up changes to device-pixel-ratio in QRasterBackingStore
Regression from 2d2d9078, which assumed the code in QBackingStore::beginPaint would apply to macOS as well, but QHighDpiScaling::isActive() is only active when Qt does the high DPI scaling, so we never hit the resize() code-path. Adds backingStore() accessor to go from QPlatformBackingStore to QBackingStore. Change-Id: I5de2ade74e731df445ea22e0f49b2a121e678efe Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/platformsupport')
-rw-r--r--src/platformsupport/graphics/qrasterbackingstore.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/platformsupport/graphics/qrasterbackingstore.cpp b/src/platformsupport/graphics/qrasterbackingstore.cpp
index 325c98b93d..ef26edc494 100644
--- a/src/platformsupport/graphics/qrasterbackingstore.cpp
+++ b/src/platformsupport/graphics/qrasterbackingstore.cpp
@@ -39,6 +39,7 @@
#include "qrasterbackingstore_p.h"
+#include <QtGui/qbackingstore.h>
#include <QtGui/qpainter.h>
QT_BEGIN_NAMESPACE
@@ -104,6 +105,10 @@ bool QRasterBackingStore::scroll(const QRegion &region, int dx, int dy)
void QRasterBackingStore::beginPaint(const QRegion &region)
{
+ // Keep backing store device pixel ratio in sync with window
+ if (m_image.devicePixelRatio() != window()->devicePixelRatio())
+ resize(backingStore()->size(), backingStore()->staticContents());
+
if (!m_image.hasAlphaChannel())
return;