changeset 103160:505b0e9f0379

(-windowDidResize:): Avoid inf-loop under GNUStep.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 06 May 2009 02:49:35 +0000
parents 103cc47f370c
children 00f44d8d6bda
files src/ChangeLog src/nsterm.m
diffstat 2 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed May 06 02:27:51 2009 +0000
+++ b/src/ChangeLog	Wed May 06 02:49:35 2009 +0000
@@ -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.
--- a/src/nsterm.m	Wed May 06 02:27:51 2009 +0000
+++ b/src/nsterm.m	Wed May 06 02:49:35 2009 +0000
@@ -1151,10 +1151,10 @@
   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 @@
     }
 #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);
 }