emacs-devel
[Top][All Lists]
Advanced

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

Re: [scratch/igc] 985247b6bee crash on Linux, KDE, Wayland


From: Eli Zaretskii
Subject: Re: [scratch/igc] 985247b6bee crash on Linux, KDE, Wayland
Date: Thu, 05 Sep 2024 22:31:04 +0300

> Date: Thu, 05 Sep 2024 22:23:52 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: pipcet@protonmail.com, gerd.moellmann@gmail.com,
>       emacs-devel@gnu.org
> 
> > It's:
> > (gdb) p f->terminal
> > $3 = (struct terminal *) 0x0
> 
> Thanks, so FRAME_LIVE_P should solve the problem.  I therefore changed
> the test to use FRAME_LIVE_P.

Come to think about it: why we need to do anything with dead
(i.e. deleted) frames in fix_frame? shouldn't we simply return without
doing anything?  The face cache in such a frame is NULL, and likewise
the image cache.  As for FRAME_FONT and FRAME_DISPLAY_INFO
(f)->name_list_element, we already avoid doing anything with them,
because we'd segfault otherwise.

So I think just returning for frames that fail the FRAME_LIVE_P test
will be cleaner, and will also remove the need for several more tests
in this function, which basically are all about deleted frames
already.

Am I missing something?



reply via email to

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