From 4d310b52ee1f81ac7bf67e33fd98d22a4fe18c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Nilsen?= Date: Tue, 20 Sep 2011 15:04:54 +0200 Subject: Cocoa: Update the geometry whenever the window moves. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I3d47d62aaa0b4ccc88159ba9b6d1a3ebd42fedf5 Reviewed-on: http://codereview.qt-project.org/5255 Reviewed-by: Qt Sanity Bot Reviewed-by: Bjørn Erik Nilsen --- src/plugins/platforms/cocoa/qcocoawindow.mm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 0c0a3ea73e..eb670bbb39 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -42,6 +42,7 @@ #include "qnswindowdelegate.h" #include "qcocoaautoreleasepool.h" #include "qcocoaglcontext.h" +#include "qcocoahelpers.h" #include "qnsview.h" #include #include @@ -167,6 +168,12 @@ void QCocoaWindow::windowDidMove() { if (m_glContext) m_glContext->update(); + + NSRect rect = [[m_nsWindow contentView]frame]; + NSRect windowRect = [m_nsWindow frame]; + + QRect geo(windowRect.origin.x, qt_mac_flipYCoordinate(windowRect.origin.y + rect.size.height), rect.size.width, rect.size.height); + QWindowSystemInterface::handleSynchronousGeometryChange(window(), geo); } void QCocoaWindow::windowDidResize() @@ -175,7 +182,9 @@ void QCocoaWindow::windowDidResize() m_glContext->update(); NSRect rect = [[m_nsWindow contentView]frame]; - QRect geo(rect.origin.x,rect.origin.y,rect.size.width,rect.size.height); + NSRect windowRect = [m_nsWindow frame]; + + QRect geo(windowRect.origin.x, qt_mac_flipYCoordinate(windowRect.origin.y + rect.size.height), rect.size.width, rect.size.height); QWindowSystemInterface::handleSynchronousGeometryChange(window(), geo); } -- cgit v1.2.3