GNU bug report logs - #79193
31.0.50; feature/igc: crashes with no gui frame

Previous Next

Package: emacs;

Reported by: john muhl <jm <at> pub.pink>

Date: Thu, 7 Aug 2025 17:10:02 UTC

Severity: normal

Found in version 31.0.50

Full log


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

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Pip Cet <pipcet <at> protonmail.com>
Cc: john muhl <jm <at> pub.pink>, Helmut Eller <eller.helmut <at> gmail.com>,
 79193 <at> debbugs.gnu.org
Subject: Re: bug#79193: 31.0.50; feature/igc: crashes with no gui frame
Date: Fri, 08 Aug 2025 04:40:44 +0200
Pip Cet <pipcet <at> protonmail.com> writes:

 * src/dispnew.c (line_hash_code) [MPS]: Use 'igc_hash', not the
> address of a movable object, as a hash value.
> ---
>  src/dispnew.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/src/dispnew.c b/src/dispnew.c
> index 1eaab64d876..755422b7cf1 100644
> --- a/src/dispnew.c
> +++ b/src/dispnew.c
> @@ -1192,8 +1192,17 @@ line_hash_code (struct frame *f, struct glyph_row *row)
>  	     index into the frame's face cache), we need the hash
>  	     value to include something specific to the frame, and we
>  	     use the frame cache's address for that purpose.  */
> +#ifndef HAVE_MPS
>  	  if (glyph->frame && glyph->frame != f)
>  	    face_id += (uintptr_t) glyph->frame->face_cache;
> +#else
> +	  if (glyph->frame && glyph->frame != f)
> +	    {
> +	      Lisp_Object face_cache;
> +	      XSETVECTOR (face_cache, glyph->frame->face_cache);
> +	      face_id += igc_hash (face_cache);
                         ^^^^^^^^
BTW, good catch!             




This bug report was last modified 8 days ago.

Previous Next


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