aboutsummaryrefslogtreecommitdiffstats
path: root/src/androidgui.h
diff options
context:
space:
mode:
authorPo Lu2023-03-09 16:30:02 +0800
committerPo Lu2023-03-09 16:30:02 +0800
commite859a14bee7a84a3aaed45770c89ef60c68b3e08 (patch)
tree5f875640bc70b3726ad1a3d2f41732ecc54fbcdf /src/androidgui.h
parent745890de5204850bb4173c19ceb79c698acb7a20 (diff)
downloademacs-e859a14bee7a84a3aaed45770c89ef60c68b3e08.tar.gz
emacs-e859a14bee7a84a3aaed45770c89ef60c68b3e08.zip
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.
Diffstat (limited to 'src/androidgui.h')
-rw-r--r--src/androidgui.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/androidgui.h b/src/androidgui.h
index afcaed98cae..5858a168080 100644
--- a/src/androidgui.h
+++ b/src/androidgui.h
@@ -418,6 +418,9 @@ struct android_menu_event
418 418
419 /* Menu event ID. */ 419 /* Menu event ID. */
420 int menu_event_id; 420 int menu_event_id;
421
422 /* Menu event serial; this counter identifies the context menu. */
423 int menu_event_serial;
421}; 424};
422 425
423enum android_ime_operation 426enum android_ime_operation