]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix crashes on ordinary menus on macOS
authorPo Lu <luangruo@yahoo.com>
Sun, 8 May 2022 11:14:57 +0000 (19:14 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 8 May 2022 11:14:57 +0000 (19:14 +0800)
* src/nsmenu.m ([EmacsMenu runMenuAt:forFrame:keymaps:]): Fix
coding style.
([EmacsMenu menu:willHighlightItem:]): Ignore if this is a
context menu.

src/nsmenu.m

index b0ab12bb87d5a05d19cd5a7400c3667e5b94eed9..34864f940879fa0c8155eeb28f57178346d9d716 100644 (file)
@@ -741,15 +741,15 @@ prettify_key (const char *key)
   /* p = [view convertPoint:p fromView: nil]; */
   p.y = NSHeight ([view frame]) - p.y;
   e = [[view window] currentEvent];
-   event = [NSEvent mouseEventWithType: NSEventTypeRightMouseDown
-                              location: p
-                         modifierFlags: 0
-                             timestamp: [e timestamp]
-                          windowNumber: [[view window] windowNumber]
-                               context: nil
-                           eventNumber: 0 /* [e eventNumber] */
-                            clickCount: 1
-                              pressure: 0];
+  event = [NSEvent mouseEventWithType: NSEventTypeRightMouseDown
+                            location: p
+                       modifierFlags: 0
+                           timestamp: [e timestamp]
+                        windowNumber: [[view window] windowNumber]
+                             context: nil
+                         eventNumber: 0 /* [e eventNumber] */
+                          clickCount: 1
+                            pressure: 0];
 
   context_menu_value = -1;
   [NSMenu popUpContextMenu: self withEvent: event forView: view];
@@ -767,6 +767,10 @@ prettify_key (const char *key)
   Lisp_Object vec = f->menu_bar_vector;
   Lisp_Object help, frame;
 
+  /* This isn't a menubar, ignore.  */
+  if (context_menu_value == -1)
+    return;
+
   if (idx >= ASIZE (vec))
     return;