diff --git a/ChangeLog b/ChangeLog index 5d88f310a..1764b386c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-01-24 Wolfgang Lux + + * Source/NSWindow.m (-setFrameFromString:, -stringWithSavedFrame): + Merge change from the testplant_1 branch: + Do not include the toolbar in a window's saved frame. Makes saving + and restoring window frame sizes independent of whether the + toolbar is present at the time when the frame is saved or restored. + Patch by Doug Simons + 2011-01-24 German Arias * Source/NSMenuView.m (-trackWithEvent:): Fixed problems with diff --git a/Source/NSWindow.m b/Source/NSWindow.m index fc10144dd..3f25ffded 100644 --- a/Source/NSWindow.m +++ b/Source/NSWindow.m @@ -4603,6 +4603,14 @@ current key view.
return; } + // if toolbar is showing, adjust saved frame to add the toolbar back in + if ([_toolbar isVisible]) + { + int toolbarHeight = [[_toolbar _toolbarView] frame].size.height; + fRect.size.height += toolbarHeight; + fRect.origin.y -= toolbarHeight; + } + /* * Scan in the frame for the area the window was placed in in screen. */ @@ -4728,6 +4736,14 @@ current key view.
fRect = _frame; + // if toolbar is showing, adjust saved frame to not include the toolbar + if ([_toolbar isVisible]) + { + int toolbarHeight = [[_toolbar _toolbarView] frame].size.height; + fRect.size.height -= toolbarHeight; + fRect.origin.y += toolbarHeight; + } + /* * The screen rectangle should give the area of the screen in which * the window could be placed (ie a rectangle excluding the dock).