summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-03-27 18:49:10 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-04-19 12:50:46 +0000
commitf368cd88687643d565763602721cae6e9602e34d (patch)
tree1dcbcf743d9d254e8d053f71308328bed86fdb64 /src
parent30d825f5f21265468d2aedc1bb5d6796ddaa5f3f (diff)
macOS: Initialize window geometry early on, instead of when creating NSWindow
We don't need to defer to NSWindow creation before determining the initial window geometry, and we don't need to redetermine each time we re-create an NSWindow for a QCocoaWindow. Change-Id: Ie13380830b44e96670ff16513f29deef5f5ae313 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index e9bcaa8f41..b453da818f 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -491,7 +491,9 @@ QCocoaWindow::QCocoaWindow(QWindow *tlw, WId nativeHandle)
"QT_MAC_WANTS_LAYER");
[m_view setWantsLayer:enable];
}
- setGeometry(tlw->geometry());
+
+ setGeometry(initialGeometry(window(), windowGeometry(), defaultWindowWidth, defaultWindowHeight));
+
recreateWindowIfNeeded();
tlw->setGeometry(geometry());
if (tlw->isTopLevel())
@@ -1721,7 +1723,7 @@ QCocoaNSWindow *QCocoaWindow::createNSWindow(bool shouldBeChildNSWindow, bool sh
{
QMacAutoReleasePool pool;
- QRect rect = initialGeometry(window(), windowGeometry(), defaultWindowWidth, defaultWindowHeight);
+ QRect rect = geometry();
QScreen *targetScreen = nullptr;
for (QScreen *screen : QGuiApplication::screens()) {