summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorTeemu Katajisto <teemu.katajisto@digia.com>2012-10-05 14:20:03 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-08 08:50:09 +0200
commit1bd710cbc77f71451527b9436c2d8935d8526bd5 (patch)
tree16eb63f4877e5de57c20b610f83604710861ddb1 /src/plugins
parentd0573aa914e59c2947fabb6960735981286cf772 (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.mm9
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
}