summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/ios/qiosbackingstore.h4
-rw-r--r--src/plugins/platforms/ios/qiosbackingstore.mm16
2 files changed, 10 insertions, 10 deletions
diff --git a/src/plugins/platforms/ios/qiosbackingstore.h b/src/plugins/platforms/ios/qiosbackingstore.h
index eff7455247..555dfa2a5d 100644
--- a/src/plugins/platforms/ios/qiosbackingstore.h
+++ b/src/plugins/platforms/ios/qiosbackingstore.h
@@ -38,6 +38,8 @@
QT_BEGIN_NAMESPACE
+class QOpenGLPaintDevice;
+
class QIOSBackingStore : public QPlatformBackingStore
{
public:
@@ -53,7 +55,7 @@ public:
private:
QOpenGLContext *m_context;
- QPaintDevice *m_device;
+ QOpenGLPaintDevice *m_device;
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/ios/qiosbackingstore.mm b/src/plugins/platforms/ios/qiosbackingstore.mm
index 5ea5fbd8d1..7f622cf7c1 100644
--- a/src/plugins/platforms/ios/qiosbackingstore.mm
+++ b/src/plugins/platforms/ios/qiosbackingstore.mm
@@ -73,19 +73,17 @@ QIOSBackingStore::~QIOSBackingStore()
void QIOSBackingStore::beginPaint(const QRegion &)
{
m_context->makeCurrent(window());
-
- QIOSWindow *iosWindow = static_cast<QIOSWindow *>(window()->handle());
- static_cast<QOpenGLPaintDevice *>(paintDevice())->setSize(window()->size() * iosWindow->devicePixelRatio());
}
QPaintDevice *QIOSBackingStore::paintDevice()
{
- if (!m_device) {
- QIOSWindow *iosWindow = static_cast<QIOSWindow *>(window()->handle());
- QOpenGLPaintDevice *openGLDevice = new QOpenGLPaintDevice(window()->size() * iosWindow->devicePixelRatio());
- openGLDevice->setDevicePixelRatio(iosWindow->devicePixelRatio());
- m_device = openGLDevice;
- }
+ if (!m_device)
+ m_device = new QOpenGLPaintDevice;
+
+ // Keep paint device size and device pixel ratio in sync with window
+ qreal devicePixelRatio = window()->devicePixelRatio();
+ m_device->setSize(window()->size() * devicePixelRatio);
+ m_device->setDevicePixelRatio(devicePixelRatio);
return m_device;
}