From: Jan Djärv Date: Fri, 30 Sep 2011 07:42:26 +0000 (+0200) Subject: * nsterm.m (windowDidResize): Call x_set_window_size only when X-Git-Tag: emacs-pretest-24.0.91~241 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9ceebf39d984e4415dbb9ae62e883902051257c8;p=emacs.git * nsterm.m (windowDidResize): Call x_set_window_size only when ns_in_resize is true. Otherwise set pixelwidth/height and call change_frame_size. Fixes: debbugs:9628 --- diff --git a/src/ChangeLog b/src/ChangeLog index b8b4d54b4f7..37d2de93c11 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2011-09-30 Jan Djärv + + * nsterm.m (windowDidResize): Call x_set_window_size only when + ns_in_resize is true. Otherwise set pixelwidth/height and + call change_frame_size (Bug#9628). + 2011-09-30 Paul Eggert Port --enable-checking=all to Fedora 14 x86-64. diff --git a/src/nsterm.m b/src/nsterm.m index 827404a2974..a2ae5e69512 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -5357,7 +5357,23 @@ ns_term_shutdown (int sig) a "windowDidResize" which calls x_set_window_size). */ #ifndef NS_IMPL_GNUSTEP if (cols > 0 && rows > 0) - x_set_window_size (emacsframe, 0, cols, rows); + { + if (ns_in_resize) + x_set_window_size (emacsframe, 0, cols, rows); + else + { + NSWindow *window = [self window]; + NSRect wr = [window frame]; + FRAME_PIXEL_WIDTH (emacsframe) = (int)wr.size.width + - emacsframe->border_width; + FRAME_PIXEL_HEIGHT (emacsframe) = (int)wr.size.height + - FRAME_NS_TITLEBAR_HEIGHT (emacsframe) + - FRAME_TOOLBAR_HEIGHT (emacsframe); + change_frame_size (emacsframe, rows, cols, 0, 0, 1); + SET_FRAME_GARBAGED (emacsframe); + cancel_mouse_face (emacsframe); + } + } #endif ns_send_appdefined (-1);