]> git.eshelyaron.com Git - emacs.git/commit
Remove NS menu synthesized events (bug#44333)
authorAlan Third <alan@idiocy.org>
Wed, 23 Dec 2020 20:12:02 +0000 (20:12 +0000)
committerAlan Third <alan@idiocy.org>
Sun, 27 Dec 2020 16:51:47 +0000 (16:51 +0000)
commitc9b37634b131f3617314bd5a38090e96d0b465cf
tree564c27528be75eb9fb3e5d4097020c440f2c25ac
parentdf882c9701755e2ae063f05d3381de14ae09951e
Remove NS menu synthesized events (bug#44333)

Remove the frame tracking stuff as it's not used for anything, and
move the update tracking into the EmacsMenu class.

* src/nsmenu.m (ns_update_menubar): Copy the parsing code from xmenu.c
and rework the NS specific code around to update the existing menus
instead of rebuilding them completely.
(ns_activate_menubar):
([EmacsMenu trackingNotification:]):
([EmacsMenu menuWillOpen:]):
([EmacsMenu menuDidClose:]): Remove unused functions.
([EmacsMenu menuNeedsUpdate:]): Remove menu tracking code and add code
to check whether an update is required.
([EmacsMenu fillWithWidgetValue:]):
([EmacsMenu addSubmenuWithTitle:]):
([EmacsMenu initWithTitle:]): Remove references to frame.
([EmacsMenu setFrame:]): Remove method.
([EmacsMenu clear]): Rename to removeAllItems.
([EmacsMenu removeAllItems]): Use built-in removeAllItems, if
available.
(syms_of_nsmenu): Remove tracking code.
* src/nsterm.m (ns_check_menu_open):
(ns_check_pending_open_menu):
(ns_create_terminal): Remove unused functions.
(ns_term_init): Get rid of menu tracking.
* src/nsterm.h (EmacsMenu): Remove frame, add needsUpdate and update
method definitions.
src/nsmenu.m
src/nsterm.h
src/nsterm.m