GNU bug report logs -
#77039
31.0.50; Flickering on macOS
Previous Next
Reported by: Aaron Jensen <aaronjensen <at> gmail.com>
Date: Sat, 15 Mar 2025 16:43:01 UTC
Severity: normal
Found in version 31.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #53 received at 77039 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Aaron Jensen <aaronjensen <at> gmail.com> writes:
> Hi,
>
> I've narrowed it down to the addition to frame in the glyph
> comparison. As far as I can tell, the attached patch removes the
> flickering for me. I saw the cursor blink once, but I couldn't
> reproduce that and I couldn't get it to do it again.
>
> The patch is not suitable for applying to master as it certainly
> breaks something int he tty child frame code, but hopefully it gives
> you an idea of what the problem might be. I'm going to experiment with
> accounting for the NULL frame in the space glyph and see if that
> helps.
Thanks Aaron, that was very helpful. I'm pretty sure it gave me right
idea, namely... This in adjust_glyph_matrix
dispnew.c:
505 while (row < end)
506 {
507 row->glyphs[LEFT_MARGIN_AREA] =
508 xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
509 dim.width, sizeof (struct glyph));
means that glyphs in window-system windows are not zeroed. Which in turn
means that glyph::frame is not guaranteed to be NULL initially. And
because I falsely assumed that to be the case, I didn't change the code
producing glyphs for window-systems to set glyph::frame, which isn't
needed or used on window-systems. And in the end, the glyph comparisons
can fail.
Or so is the hypothesis...
Could you please try if the attached change works for you (without your
patch)?
[adjust.diff (text/x-patch, attachment)]
This bug report was last modified 113 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.