From 7de5a6d1f71ebd359202ae45635b1f2c3f2c184c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Alexander=20Kami=C5=84ski?= Date: Fri, 17 Oct 2025 11:24:31 +0100 Subject: [PATCH] Release NS objects (bug#79023) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * src/nsterm.m (ns_free_frame_resources): Release the NSView. ([EmacsView dealloc]): Release the EmacsLayer and menu. ([EmacsWindow dealloc]): Fix the toolbar release. Co-authored-by: Rudolf Adamkovič --- src/nsterm.m | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/nsterm.m b/src/nsterm.m index 5127739e2d9..74ee1219bbc 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1637,6 +1637,7 @@ Hide the window (X11 semantics) [[view window] close]; [view removeFromSuperview]; + [view release]; xfree (f->output_data.ns); f->output_data.ns = NULL; @@ -6844,6 +6845,14 @@ - (void)dealloc if (fs_state == FULLSCREEN_BOTH) [nonfs_window release]; + +#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 + /* Release layer and menu */ + EmacsLayer *layer = (EmacsLayer *)[self layer]; + [layer release]; +#endif + + [[self menu] release]; [super dealloc]; } @@ -9599,8 +9608,9 @@ - (void)dealloc NSTRACE ("[EmacsWindow dealloc]"); /* We need to release the toolbar ourselves. */ - [self setToolbar: nil]; [[self toolbar] release]; + [self setToolbar: nil]; + /* Also the last button press event . */ if (last_drag_event)