aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2015-02-02 18:15:13 +0200
committerEli Zaretskii2015-02-02 18:15:13 +0200
commite9a7e10b1818b484af0a36631d2ee6034ac752dc (patch)
treea33cadda6aa44694e6e94bedb6b42cab6ea17c33 /src
parent50f3811883c7082b3c2a5a10bcfe77a3adfcb6ff (diff)
downloademacs-e9a7e10b1818b484af0a36631d2ee6034ac752dc.tar.gz
emacs-e9a7e10b1818b484af0a36631d2ee6034ac752dc.zip
Fix redrawing of mode lines when exposed (Bug#19721)
src/dispnew.c (adjust_glyph_matrix): Set the update_mode_line flag of the window whose current glyph matrix was resized, which disables the mode-line row as side effect. src/xdisp.c (redisplay_window): Don't avoid redisplay of a window whose update_mode_line flag is set.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog9
-rw-r--r--src/dispnew.c6
-rw-r--r--src/xdisp.c1
3 files changed, 16 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 829eb25f4d9..c8ea8b586ed 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
12015-02-02 Eli Zaretskii <eliz@gnu.org>
2
3 * dispnew.c (adjust_glyph_matrix): Set the update_mode_line flag
4 of the window whose current glyph matrix was resized, which
5 disables the mode-line row as side effect.
6
7 * xdisp.c (redisplay_window): Don't avoid redisplay of a window
8 whose update_mode_line flag is set. (Bug#19721)
9
12015-01-30 Eli Zaretskii <eliz@gnu.org> 102015-01-30 Eli Zaretskii <eliz@gnu.org>
2 11
3 * dispextern.h (FACE_FOR_CHAR): Fix the commentary. 12 * dispextern.h (FACE_FOR_CHAR): Fix the commentary.
diff --git a/src/dispnew.c b/src/dispnew.c
index f73ea58b7f3..6517c9b5d19 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -570,6 +570,12 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
570 for (i = 0; i < matrix->nrows; ++i) 570 for (i = 0; i < matrix->nrows; ++i)
571 matrix->rows[i].enabled_p = false; 571 matrix->rows[i].enabled_p = false;
572 } 572 }
573 /* We've disabled the mode-line row, so force redrawing of
574 the mode line, if any, since otherwise it will remain
575 disabled in the current matrix, and expose events won't
576 redraw it. */
577 if (WINDOW_WANTS_MODELINE_P (w))
578 w->update_mode_line = 1;
573 } 579 }
574 else if (matrix == w->desired_matrix) 580 else if (matrix == w->desired_matrix)
575 { 581 {
diff --git a/src/xdisp.c b/src/xdisp.c
index b1125d324c2..2ebf06d5c34 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -15964,6 +15964,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p)
15964 if (!just_this_one_p 15964 if (!just_this_one_p
15965 && REDISPLAY_SOME_P () 15965 && REDISPLAY_SOME_P ()
15966 && !w->redisplay 15966 && !w->redisplay
15967 && !w->update_mode_line
15967 && !f->redisplay 15968 && !f->redisplay
15968 && !buffer->text->redisplay 15969 && !buffer->text->redisplay
15969 && BUF_PT (buffer) == w->last_point) 15970 && BUF_PT (buffer) == w->last_point)