From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#59794: 29.0.60; NSport segfaults when a fullscreen frame is being closed) Date: Sun, 04 Dec 2022 12:24:15 +0200 Message-ID: <83ilirbh68.fsf@gnu.org> References: <835yerd5gb.fsf@gnu.org> <87ilirr0uq.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37876"; mail-complaints-to="usenet@ciao.gmane.io" Cc: gerd.moellmann@gmail.com, 59794@debbugs.gnu.org, justksqsf@gmail.com To: Po Lu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 04 11:25:19 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p1mBS-0009fe-Pd for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 04 Dec 2022 11:25:18 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p1mBI-0001ZD-C2; Sun, 04 Dec 2022 05:25:08 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p1mBD-0001Yn-Pg for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 05:25:04 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p1mBC-0007aw-I0 for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 05:25:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p1mBC-0001N0-6E for bug-gnu-emacs@gnu.org; Sun, 04 Dec 2022 05:25:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 04 Dec 2022 10:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59794 X-GNU-PR-Package: emacs Original-Received: via spool by 59794-submit@debbugs.gnu.org id=B59794.16701494835257 (code B ref 59794); Sun, 04 Dec 2022 10:25:02 +0000 Original-Received: (at 59794) by debbugs.gnu.org; 4 Dec 2022 10:24:43 +0000 Original-Received: from localhost ([127.0.0.1]:56750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p1mAt-0001Mi-1f for submit@debbugs.gnu.org; Sun, 04 Dec 2022 05:24:43 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:45476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p1mAr-0001Ma-6M for 59794@debbugs.gnu.org; Sun, 04 Dec 2022 05:24:41 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p1mAl-0007Y4-VJ; Sun, 04 Dec 2022 05:24:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:Subject:In-Reply-To:To:From: Date; bh=7MlU8LeUmmERsuxr56DSGdjMkhn25+/D4u0f/SPDf68=; b=n3plzImb9xHuJBAFIveF pfOHKPeLvWEdTdcm4aFGJRqxgcakXniPc7VkczaNdujwo9uoS308/cimW1NGwWGs2W5ikryCLYnkX 89dKrjvg8kIPGgWVI8UNLxCvAI6tkv7pQ/iJIRufVIl8ARRSiUZYxXJjg8sBJ7MKsMNqnZgXe59zw gO9Rg21u8XSwbZLktKTKisnWoTKahudMadpv2Xfsd3JiIgmIDCinLEuh7JanqPxAlKLlqKj0QGzSA zFPSx74GWA0u1JghymlkUFW9VpJJ6T27vjaE34NYAzTrQadiNlFdYt5JX5tvr+pSgOG8/BgZX6zH6 Nz2IKH7jGrKhkw==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p1mAl-0003jr-96; Sun, 04 Dec 2022 05:24:35 -0500 In-Reply-To: <87ilirr0uq.fsf@yahoo.com> (message from Po Lu on Sun, 04 Dec 2022 17:10:05 +0800) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:249916 Archived-At: --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable > From: Po Lu > Cc: Kai Ma , Gerd M=F6llmann > , > 59794@debbugs.gnu.org > Date: Sun, 04 Dec 2022 17:10:05 +0800 >=20 > Eli Zaretskii writes: >=20 > >> From: Kai Ma > >> Date: Sat, 03 Dec 2022 18:48:15 +0800 > >>=20 > >> I'm currently using the trivial fix to prevent further data loss: > > > > Maybe we should install this fix. Does anyone see a problem with it? >=20 > Could you please forward the patch in that message? Why, cannot you access debbugs? Anyway, attached below. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Prevent-a-segfault-when-deleting-a-fullscreen-frame-.patch >>From 8ea35a8099f34f482d090ea8068e89f52dcd29ac Mon Sep 17 00:00:00 2001 From: Kai Ma Date: Sat, 3 Dec 2022 18:17:26 +0800 Subject: [PATCH] Prevent a segfault when deleting a fullscreen frame on NextStep. * nsterm.m ([EmacsView resetCursorRects:]): Be defensive when accessing FRAME_OUTPUT_DATA. --- src/nsterm.m | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 507f2a9e7d..c09f743ec7 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -6703,8 +6703,16 @@ - (BOOL)acceptsFirstResponder - (void)resetCursorRects { - NSRect visible = [self visibleRect]; - NSCursor *currentCursor = FRAME_POINTER_TYPE (emacsframe); + NSRect visible; + NSCursor *currentCursor; + + /* On macOS 13, [resetCursorRects:] could be called even after the + window is closed. */ + if (! emacsframe || ! FRAME_OUTPUT_DATA (emacsframe)) + return; + + visible = [self visibleRect]; + currentCursor = FRAME_POINTER_TYPE (emacsframe); NSTRACE ("[EmacsView resetCursorRects]"); if (currentCursor == nil) -- 2.37.1 (Apple Git-137.1) --=-=-=--