diff options
author | Teemu Katajisto <teemu.katajisto@digia.com> | 2012-10-05 14:20:03 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-10-08 08:50:09 +0200 |
commit | 1bd710cbc77f71451527b9436c2d8935d8526bd5 (patch) | |
tree | 16eb63f4877e5de57c20b610f83604710861ddb1 /src/plugins | |
parent | d0573aa914e59c2947fabb6960735981286cf772 (diff) |
Cocoa: don't animate window transitions for 0 width/height windows
Task-number: QTBUG-26617
Change-Id: I6dfc3f208368ddf6be65259218aee88db9692cfe
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoawindow.mm | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 4902e31249..6e105eea2b 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -726,6 +726,15 @@ void QCocoaWindow::syncWindowState(Qt::WindowState newState) if (!m_nsWindow) return; + // if content view width or height is 0 then the window animations will crash so + // do nothing except set the new state + NSRect contentRect = [contentView() frame]; + if (contentRect.size.width <= 0 || contentRect.size.height <= 0) { + qWarning() << Q_FUNC_INFO << "invalid window content view size, check your window geometry"; + m_synchedWindowState = newState; + return; + } + if ((m_synchedWindowState & Qt::WindowMaximized) != (newState & Qt::WindowMaximized)) { [m_nsWindow performZoom : m_nsWindow]; // toggles } |