From: Po Lu Date: Tue, 31 May 2022 08:25:20 +0000 (+0800) Subject: Fix crashes displaying menu help text on NS X-Git-Tag: emacs-29.0.90~1910^2~322 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d94890404e91d5ba50afaa4bc27b9c655dbed5f1;p=emacs.git Fix crashes displaying menu help text on NS * src/nsterm.m (ns_flush_display): Run event loop manually, avoiding a double free of an autorelease pool. --- diff --git a/src/nsterm.m b/src/nsterm.m index 3d2b4116cab..0c83656125c 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -5185,14 +5185,19 @@ ns_update_window_end (struct window *w, bool cursor_on_p, static void ns_flush_display (struct frame *f) { - struct input_event ie; + NSAutoreleasePool *ap; + + ap = [[NSAutoreleasePool alloc] init]; /* Called from some of the minibuffer code. Run the event loop once to make the toolkit make changes that were made to the back - buffer visible again. TODO: what should happen to ie? */ + buffer visible again. */ - EVENT_INIT (ie); - ns_read_socket (FRAME_TERMINAL (f), &ie); + send_appdefined = YES; + ns_send_appdefined (-1); + + [NSApp run]; + [ap release]; } /* This and next define (many of the) public functions in this