Cocoa: Don't set window size in propagateSizeHints

Unless QWindow:baseSize returns a valid value.
Setting the size caused lots of window geometry
instability in Creator.

Change-Id: Iab45e88b47207db900c7655c217959391d84a1bb
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
bb10
Morten Johan Sorvig 2011-12-14 11:19:33 +01:00 committed by Qt by Nokia
parent c13b223979
commit 140579cb3e
1 changed files with 1 additions and 7 deletions

View File

@ -188,15 +188,9 @@ void QCocoaWindow::propagateSizeHints()
if (!window()->sizeIncrement().isNull())
[m_nsWindow setResizeIncrements : qt_mac_toNSSize(window()->sizeIncrement())];
// We must set the window frame after setting the minimum size to prevent the window
// from being resized to the minimum size. Use QWindow::baseSize if set, otherwise
// use the current size.
QSize baseSize = window()->baseSize();
QRect rect = geometry();
if (!baseSize.isNull()) {
[m_nsWindow setFrame : NSMakeRect(rect.x(), rect.y(), baseSize.width(), baseSize.height()) display : YES];
} else {
[m_nsWindow setFrame : NSMakeRect(rect.x(), rect.y(), rect.width(), rect.height()) display : YES];
[m_nsWindow setFrameSize : NSMakeSize(baseSize.width(), baseSize.height()) display : YES];
}
}