diff options
author | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2011-09-20 15:04:54 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-20 17:37:50 +0200 |
commit | 4d310b52ee1f81ac7bf67e33fd98d22a4fe18c43 (patch) | |
tree | 6a4a334545b1745053772ccf9b5bd9a3bdb8893f /src/plugins/platforms/cocoa/qcocoawindow.mm | |
parent | ba654f80341448acf7345a0d2ee10d1c6ea459e7 (diff) |
Cocoa: Update the geometry whenever the window moves.
Change-Id: I3d47d62aaa0b4ccc88159ba9b6d1a3ebd42fedf5
Reviewed-on: http://codereview.qt-project.org/5255
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoawindow.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoawindow.mm | 11 |
1 files changed, 10 insertions, 1 deletions
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 <QtCore/private/qcore_mac_p.h> #include <qwindow.h> @@ -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); } |