emacs-devel
[Top][All Lists]
Advanced

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

Re: Building the igc branch on MS-Windows


From: Eli Zaretskii
Subject: Re: Building the igc branch on MS-Windows
Date: Sat, 27 Apr 2024 17:54:29 +0300

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: eller.helmut@gmail.com,  emacs-devel@gnu.org
> Date: Sat, 27 Apr 2024 15:26:35 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> >> Cc: eller.helmut@gmail.com,  emacs-devel@gnu.org
> >> Date: Sat, 27 Apr 2024 14:09:26 +0200
> >> 
> >> Inaccessible memory in my experience so far means that the corresponding
> >> object has either been moved by MPS, or it has been "freed", by not
> >> copying it.
> >> 
> >> So, as an ansatz, let's assume the font in question has been moved. It
> >> would follow, I think, that it is not a face->font right? Because
> >> otherwise the reference to the the font would have been traced. The
> >> question would be where the reference to the font comes from?
> >
> > It _is_ face->font.  We get to it like this:
> >
> >   void
> >   gui_produce_glyphs (struct it *it)
> >   {
> >     int extra_line_spacing = it->extra_line_spacing;
> >
> >     it->glyph_not_available_p = false;
> >
> >     if (it->what == IT_CHARACTER)
> >       {
> >     unsigned char2b;
> >     struct face *face = FACE_FROM_ID (it->f, it->face_id);
> >     struct font *font = face->font; <<<<<<<<<<<<<<<<<<<<<<<<<<<<
> >
> > IOW, the display iterator references a face by its ID, and we access
> > that face via the frame's face cache.  As I wrote in a previous
> > message, all the faces in the cache after index 21 are clobbered,
> > although the cache's 'used' count is 57, and the index of the
> > problematic face is 22.
> 
> Good!
> 
> Can you something wrong ub fix_face_cache (please see the other mail I
> sent)?

No.  But then I (still) don't feel I understand well enough what
fix_face_cache is supposed to do.

> And then, do we have other references to face_cache than from the frame?
> Maybe I've missed one?

I don't see any other references.  Maybe I'm missing one as well.



reply via email to

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