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:
parent
d6c1a9cb8a
commit
aee0bc8775
18
src/nsterm.m
18
src/nsterm.m
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user