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.
This commit is contained in:
parent
50f3811883
commit
e9a7e10b18
3 changed files with 16 additions and 0 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2015-02-02 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
* xdisp.c (redisplay_window): Don't avoid redisplay of a window
|
||||||
|
whose update_mode_line flag is set. (Bug#19721)
|
||||||
|
|
||||||
2015-01-30 Eli Zaretskii <eliz@gnu.org>
|
2015-01-30 Eli Zaretskii <eliz@gnu.org>
|
||||||
|
|
||||||
* dispextern.h (FACE_FOR_CHAR): Fix the commentary.
|
* dispextern.h (FACE_FOR_CHAR): Fix the commentary.
|
||||||
|
|
|
@ -570,6 +570,12 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
|
||||||
for (i = 0; i < matrix->nrows; ++i)
|
for (i = 0; i < matrix->nrows; ++i)
|
||||||
matrix->rows[i].enabled_p = false;
|
matrix->rows[i].enabled_p = false;
|
||||||
}
|
}
|
||||||
|
/* We've disabled the mode-line row, so force redrawing of
|
||||||
|
the mode line, if any, since otherwise it will remain
|
||||||
|
disabled in the current matrix, and expose events won't
|
||||||
|
redraw it. */
|
||||||
|
if (WINDOW_WANTS_MODELINE_P (w))
|
||||||
|
w->update_mode_line = 1;
|
||||||
}
|
}
|
||||||
else if (matrix == w->desired_matrix)
|
else if (matrix == w->desired_matrix)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15964,6 +15964,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p)
|
||||||
if (!just_this_one_p
|
if (!just_this_one_p
|
||||||
&& REDISPLAY_SOME_P ()
|
&& REDISPLAY_SOME_P ()
|
||||||
&& !w->redisplay
|
&& !w->redisplay
|
||||||
|
&& !w->update_mode_line
|
||||||
&& !f->redisplay
|
&& !f->redisplay
|
||||||
&& !buffer->text->redisplay
|
&& !buffer->text->redisplay
|
||||||
&& BUF_PT (buffer) == w->last_point)
|
&& BUF_PT (buffer) == w->last_point)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue