Subject: Re: bug#19721: 25.0.50; Mode-line not redrawn with expose events

From: martin rudalics <[email-masked]>
Date: Sun, 01 Feb 2015 17:30:06 +0100

> I didn't try your suggestion, but (a) it would force redrawing the
 > mode line even if that's not needed, just because a window got
 > selected,

Yes.  We could be a bit more careful and do it only when norecord is
nil.  My point was just to know whether the bug would disappear.

 > and (b) there's a tricky condition near the beginning of
 > redisplay_window that would bypass redisplaying a window, under some
 > conditions, even if its update_mode_line flag was set (my last patch
 > attempts at fixing that).

So if he applies your code and mine we'd probably find out more.  I was
exactly once able to trigger his initial scenario here on Windows with
both upper modelines completely disappearing but was not able to repeat
that experience after that.

 > So I'm not sure this is the right solution.  The situation described
 > in this report is quite unique, in that the face used for the active
 > mode line causes the window glyph matrices to be resized each time a
 > window becomes non-selected one.

Could you optimize that away (reserving one line more than needed)?
A naive question, probably ...

 > It is because of this resizing that
 > the mode-line row of the current matrix becomes disabled.

So you mean that we have to update the mode lines of both - the selected
and the deselected window?

martin