summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/kernel/qwindow.cpp3
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm5
2 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp
index 3a75a8b134..d850cd6020 100644
--- a/src/gui/kernel/qwindow.cpp
+++ b/src/gui/kernel/qwindow.cpp
@@ -411,9 +411,10 @@ void QWindow::setSizeIncrement(const QSize &size)
void QWindow::setGeometry(const QRect &rect)
{
Q_D(QWindow);
- d->geometry = rect;
if (d->platformWindow) {
d->platformWindow->setGeometry(rect);
+ } else {
+ d->geometry = rect;
}
}
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index eef7f8b160..e594514383 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -100,6 +100,8 @@ QCocoaWindow::QCocoaWindow(QWindow *tlw)
m_windowSurfaceView = m_contentView;
}
+ setGeometry(tlw->geometry());
+
[m_nsWindow setContentView:m_contentView];
}
@@ -112,8 +114,9 @@ void QCocoaWindow::setGeometry(const QRect &rect)
{
QPlatformWindow::setGeometry(rect);
- NSRect bounds = globalGeometry(window()->geometry());
+ NSRect bounds = globalGeometry(rect);
[[m_nsWindow contentView]setFrameSize:bounds.size];
+ [m_nsWindow setContentSize : bounds.size];
[m_nsWindow setFrameOrigin : bounds.origin];
if (m_glContext)