]> git.eshelyaron.com Git - emacs.git/commitdiff
(-windowDidResize:): Avoid inf-loop under GNUStep.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 6 May 2009 02:49:35 +0000 (02:49 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 6 May 2009 02:49:35 +0000 (02:49 +0000)
src/ChangeLog
src/nsterm.m

index f68a937aa5e1a72a15c5f712fb7b9355959b257f..b3f5bb483facfc8b11cd6b2af47285469e6f2d11 100644 (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.
index 5f1c50cc48db024bc301f7fa81be99ba3047d935..3ec7a34f277ecf5c07ee472468709607178061db 100644 (file)
@@ -1151,10 +1151,10 @@ x_set_window_size (struct frame *f, int change_grav, int cols, int rows)
   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 @@ extern void update_window_cursor (struct window *w, int on);
     }
 #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);
 }