(-windowDidResize:): Avoid inf-loop under GNUStep.

This commit is contained in:
Stefan Monnier 2009-05-06 02:49:35 +00:00
parent bcda200f6a
commit ce1b23bb4e
2 changed files with 13 additions and 3 deletions

View file

@ -1,3 +1,7 @@
2009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
* nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
2009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* keyboard.h (add_user_signal): Fix typo in extern.

View file

@ -1151,10 +1151,10 @@ Free a pool and temporary objects it refers to (callable from C)
pixelheight = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, rows);
/* If we have a toolbar, take its height into account. */
/* XXX: GNUstep has not yet implemented the first method below, added
in Panther, however the second is incorrect under Cocoa. */
if (tb)
FRAME_NS_TOOLBAR_HEIGHT (f) =
/* XXX: GNUstep has not yet implemented the first method below, added
in Panther, however the second is incorrect under Cocoa. */
#ifdef NS_IMPL_COCOA
NSHeight ([window frameRectForContentRect: NSMakeRect (0, 0, 0, 0)])
/* NOTE: previously this would generate wrong result if toolbar not
@ -5059,8 +5059,14 @@ - (void)windowDidResize: (NSNotification *)notification
}
#endif /* NS_IMPL_COCOA */
// Calling x_set_window_size tends to get us into inf-loops
// (x_set_window_size causes a resize which causes
// a "windowDidResize" which calls x_set_window_size).
// At least with GNUStep, don't know about MacOSX. --Stef
#ifndef NS_IMPL_GNUSTEP
if (cols > 0 && rows > 0)
x_set_window_size (emacsframe, 0, cols, rows);
x_set_window_size (emacsframe, 0, cols, rows);
#endif
ns_send_appdefined (-1);
}