From 7229cc75a4afa6d4cd367398f0da0cf73f8a80a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 21 Aug 2024 13:56:03 +0200 Subject: [PATCH] macOS: Query platform window for size when flushing child windows Otherwise we will not pick up the effects of the QHighDpiScaling layer to the QWindow size, such as when setting QT_SCALE_FACTOR explicitly. Fixes: QTBUG-122967 Pick-to: 6.7 6.5 6.2 Change-Id: I9dc914728c5aff28ef52ea3a502c94bcc91738bd Reviewed-by: Volker Hilsheimer (cherry picked from commit 270866923cce6184cd368fc5466e79bf5f845549) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/platforms/cocoa/qcocoabackingstore.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/cocoa/qcocoabackingstore.mm b/src/plugins/platforms/cocoa/qcocoabackingstore.mm index b211b5d02dd..68091cd1b14 100644 --- a/src/plugins/platforms/cocoa/qcocoabackingstore.mm +++ b/src/plugins/platforms/cocoa/qcocoabackingstore.mm @@ -399,7 +399,9 @@ void QCALayerBackingStore::flushSubWindow(QWindow *subWindow) subWindowBackingStore->m_clearSurfaceOnPaint = false; } - auto subWindowSize = subWindow->size(); + // Query platform window for subwindow size, so that we + // incorporate any effects of the QHighDpiScaling layer. + auto subWindowSize = subWindow->handle()->geometry().size(); static const auto kNoStaticContents = QRegion(); subWindowBackingStore->resize(subWindowSize, kNoStaticContents);