bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#42406: Mouse-wheel scrolling can be flickering


From: martin rudalics
Subject: bug#42406: Mouse-wheel scrolling can be flickering
Date: Thu, 17 Dec 2020 18:34:42 +0100

>> The part mostly affected would be
>>
>>     if (consider_all_windows_p)
>>       {
>>         FOR_EACH_FRAME (tail, frame)
>>        XFRAME (frame)->updated_p = false;
>
> You mean, it will not affect the following FOR_EACH_FRAME loop?  If
> so, I don't think I follow.

It would affect it in the sense that not necessarily all frames are
considered.  But you sketched that already in your TODO entry.

>> because windows_or_buffers_changed should probably become either a list
>> too or redisplay would simply scan all windows and act when it finds a
>> window whose w->update_mode_line or w->changed flag is true.
>
> I don't think windows are the problem: Emacs knows very well which
> window(s) actually need(s) to be redisplayed and redrawn.

In the case at hand Emacs relies on redisplaying all frames when
scrolling a window that is not on the selected frame in order to
correctly reflect the change in the scrolled window's mode line.

> The problem
> is with frame decorations that don't belong to any window: there we
> rely on the OS and the WM to refrain from redrawing stuff unless
> really needed.

IIUC windows_or_buffers_changed affects frames as well.  For example, I
have no idea why making a frame (in)visible should redisplay all other
frames while moving a frame on the screen apparently does not.

martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]