aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dispnew.c28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index 3fbc9f55f8d..ee29b302ac4 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -72,6 +72,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
72#endif 72#endif
73#endif 73#endif
74 74
75static void change_frame_size_1 ();
76
75/* Nonzero upon entry to redisplay means do not assume anything about 77/* Nonzero upon entry to redisplay means do not assume anything about
76 current contents of actual terminal frame; clear and redraw it. */ 78 current contents of actual terminal frame; clear and redraw it. */
77 79
@@ -352,7 +354,7 @@ free_frame_glyphs (frame, glyphs)
352 xfree (glyphs); 354 xfree (glyphs);
353} 355}
354 356
355static void 357void
356remake_frame_glyphs (frame) 358remake_frame_glyphs (frame)
357 FRAME_PTR frame; 359 FRAME_PTR frame;
358{ 360{
@@ -385,7 +387,8 @@ remake_frame_glyphs (frame)
385 FRAME_CURRENT_GLYPHS (frame) = make_frame_glyphs (frame, 0); 387 FRAME_CURRENT_GLYPHS (frame) = make_frame_glyphs (frame, 0);
386 FRAME_DESIRED_GLYPHS (frame) = make_frame_glyphs (frame, 0); 388 FRAME_DESIRED_GLYPHS (frame) = make_frame_glyphs (frame, 0);
387 FRAME_TEMP_GLYPHS (frame) = make_frame_glyphs (frame, 1); 389 FRAME_TEMP_GLYPHS (frame) = make_frame_glyphs (frame, 1);
388 SET_FRAME_GARBAGED (frame); 390 if (! FRAME_TERMCAP_P (frame) || frame == selected_frame)
391 SET_FRAME_GARBAGED (frame);
389} 392}
390 393
391/* Return the hash code of contents of line VPOS in frame-matrix M. */ 394/* Return the hash code of contents of line VPOS in frame-matrix M. */
@@ -2027,7 +2030,26 @@ do_pending_window_change ()
2027 redisplay. Since this tries to resize windows, we can't call it 2030 redisplay. Since this tries to resize windows, we can't call it
2028 from a signal handler. */ 2031 from a signal handler. */
2029 2032
2030change_frame_size (frame, newheight, newwidth, pretend, delay) 2033change_frame_size (f, newheight, newwidth, pretend, delay)
2034 register FRAME_PTR f;
2035 int newheight, newwidth, pretend;
2036{
2037 Lisp_Object tail, frame;
2038 if (FRAME_TERMCAP_P (f))
2039 {
2040 /* When using termcap, all frames use the same screen,
2041 so a change in size affects all termcap frames. */
2042 FOR_EACH_FRAME (tail, frame)
2043 if (FRAME_TERMCAP_P (XFRAME (frame)))
2044 change_frame_size_1 (XFRAME (frame), newheight, newwidth,
2045 pretend, delay);
2046 }
2047 else
2048 change_frame_size_1 (f, newheight, newwidth, pretend, delay);
2049}
2050
2051static void
2052change_frame_size_1 (frame, newheight, newwidth, pretend, delay)
2031 register FRAME_PTR frame; 2053 register FRAME_PTR frame;
2032 int newheight, newwidth, pretend; 2054 int newheight, newwidth, pretend;
2033{ 2055{