]> git.eshelyaron.com Git - emacs.git/commit
Fix menu and popup race conditions on Android
authorPo Lu <luangruo@yahoo.com>
Thu, 9 Mar 2023 08:30:02 +0000 (16:30 +0800)
committerPo Lu <luangruo@yahoo.com>
Thu, 9 Mar 2023 08:30:02 +0000 (16:30 +0800)
commite859a14bee7a84a3aaed45770c89ef60c68b3e08
tree5f875640bc70b3726ad1a3d2f41732ecc54fbcdf
parent745890de5204850bb4173c19ceb79c698acb7a20
Fix menu and popup race conditions on Android

* java/org/gnu/emacs/EmacsActivity.java (onContextMenuClosed):
* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu)
(onMenuItemClick, run):
* java/org/gnu/emacs/EmacsDialog.java (EmacsDialog, onClick)
(createDialog, onDismiss): Take menu event serial, and pass it
along in context menu events.
* java/org/gnu/emacs/EmacsNative.java (sendContextMenu): New
argument.
* src/android.c (sendContextMenu): Pass serial number in event.

* src/androidgui.h (struct android_menu_event): New field
`menu_event_serial'.
* src/androidmenu.c (FIND_METHOD_STATIC)
(android_init_emacs_context_menu): Adjust method declarations.
(android_menu_show, android_dialog_show):
* src/androidterm.c (handle_one_android_event): Expect serial in
context menu events.
* src/androidterm.h: Update prototypes.
java/org/gnu/emacs/EmacsActivity.java
java/org/gnu/emacs/EmacsContextMenu.java
java/org/gnu/emacs/EmacsDialog.java
java/org/gnu/emacs/EmacsNative.java
src/android.c
src/androidgui.h
src/androidmenu.c
src/androidterm.c
src/androidterm.h