GNU bug report logs - #42406
Mouse-wheel scrolling can be flickering

Previous Next

Package: emacs;

Reported by: Konrad Podczeck <konrad.podczeck <at> univie.ac.at>

Date: Fri, 17 Jul 2020 15:37:02 UTC

Severity: normal

Full log


Message #282 received at 42406 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: alan <at> idiocy.org, konrad.podczeck <at> univie.ac.at, 42406 <at> debbugs.gnu.org
Subject: Re: bug#42406: Mouse-wheel scrolling can be flickering
Date: Fri, 18 Dec 2020 14:57:01 +0100
>> In redisplay_window we set
>>
>>     update_mode_line = (w->update_mode_line
>> 		      || update_mode_lines
>>
>> where w is the window we redisplay because it got scrolled.  Later down
>> we have
>>
>>     if (update_mode_line
>>         && EQ (FRAME_SELECTED_WINDOW (f), window))
>>       {
>>         ...
>>         gui_consider_frame_title (w->frame);
>>
>> so we do update the frame title after the frame's selected window got
>> scrolled.  What am I missing?
>
> This, I think:
>
>    if (current_matrix_up_to_date_p
>        && (rc = try_cursor_movement (window, startp, &temp_scroll_step),
> 	  rc != CURSOR_MOVEMENT_CANNOT_BE_USED))
>      {
>        switch (rc)
> 	{
> 	case CURSOR_MOVEMENT_SUCCESS:
> 	  used_current_matrix_p = true;
> 	  goto done;
>
> IOW, we might think that nothing needs to be updated except perhaps
> the cursor position, and then fail to update the frame's title.

Just to make sure I understand your argument correctly: With my xdisp.c

  update_mode_line = (w->update_mode_line is on line 18065

  case CURSOR_MOVEMENT_SUCCESS: is on line 18458

  done: is on line 18929

  if (update_mode_line is on line 18975

  gui_consider_frame_title (w->frame); is on line 19020

so I can't see why a CURSOR_MOVEMENT_SUCCESS could bypass
gui_consider_frame_title.

martin




This bug report was last modified 4 years and 26 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.