]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid crashes on macOS with context menus
authorDaniel Martín <mardani29@yahoo.es>
Thu, 13 Jul 2023 08:47:35 +0000 (10:47 +0200)
committerEli Zaretskii <eliz@gnu.org>
Thu, 7 Sep 2023 05:21:38 +0000 (08:21 +0300)
* src/nsmenu.m ([EmacsMenu menuNeedsUpdate:]): Avoid crashes with
context menus.  (Bug#63495)

src/nsmenu.m

index 2c1f575bdf26479ecbc8f615a2ac01c9732c61d9..4a86864176dea276b8220556e29efa582f7eb63a 100644 (file)
@@ -477,6 +477,14 @@ set_frame_menubar (struct frame *f, bool deep_p)
    call to ns_update_menubar.  */
 - (void)menuNeedsUpdate: (NSMenu *)menu
 {
+
+  /* The context menu is built and then displayed, as opposed to the
+     top-menu, which is partially built and then updated and filled in
+     when it's time to display it.  Therefore, we don't call
+     ns_update_menubar if a context menu is active. */
+  if (context_menu_value != 0)
+    return;
+
 #ifdef NS_IMPL_GNUSTEP
   static int inside = 0;
 #endif