1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-22 07:09:54 +00:00

Fix non-native fullscreen on NS (bug#28872)

* src/nsterm.m (EmacsView::updateFrameSize): Handle case where
FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
of frame.
This commit is contained in:
Alan Third 2017-10-25 14:08:43 +01:00
parent d6c1a9cb8a
commit aee0bc8775

View File

@ -6804,14 +6804,19 @@ - (void) updateFrameSize: (BOOL) delay
if (! [self isFullscreen])
{
int toolbar_height;
#ifdef NS_IMPL_GNUSTEP
// GNUstep does not always update the tool bar height. Force it.
if (toolbar && [toolbar isVisible])
update_frame_tool_bar (emacsframe);
#endif
toolbar_height = FRAME_TOOLBAR_HEIGHT (emacsframe);
if (toolbar_height < 0)
toolbar_height = 35;
extra = FRAME_NS_TITLEBAR_HEIGHT (emacsframe)
+ FRAME_TOOLBAR_HEIGHT (emacsframe);
+ toolbar_height;
}
if (wait_for_tool_bar)
@ -6858,11 +6863,12 @@ - (void) updateFrameSize: (BOOL) delay
SET_FRAME_GARBAGED (emacsframe);
cancel_mouse_face (emacsframe);
/* The next two lines appear to be setting the frame to the same
size as it already is. Why are they there? */
// wr = NSMakeRect (0, 0, neww, newh);
// [view setFrame: wr];
/* The next two lines set the frame to the same size as we've
already set above. We need to do this when we switch back
from non-native fullscreen, in other circumstances it appears
to be a noop. (bug#28872) */
wr = NSMakeRect (0, 0, neww, newh);
[view setFrame: wr];
// to do: consider using [NSNotificationCenter postNotificationName:].
[self windowDidMove: // Update top/left.