summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsContextMenu.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/org/gnu/emacs/EmacsContextMenu.java')
-rw-r--r--java/org/gnu/emacs/EmacsContextMenu.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/java/org/gnu/emacs/EmacsContextMenu.java b/java/org/gnu/emacs/EmacsContextMenu.java
index 00e204c9949..ac67ebe4aa0 100644
--- a/java/org/gnu/emacs/EmacsContextMenu.java
+++ b/java/org/gnu/emacs/EmacsContextMenu.java
@@ -168,10 +168,22 @@ public class EmacsContextMenu
{
if (item.subMenu != null)
{
- /* This is a submenu. Create the submenu and add the
- contents of the menu to it. */
- submenu = menu.addSubMenu (item.itemName);
- item.subMenu.inflateMenuItems (submenu);
+ try
+ {
+ /* This is a submenu. On versions of Android which
+ support doing so, create the submenu and add the
+ contents of the menu to it. */
+ submenu = menu.addSubMenu (item.itemName);
+ }
+ catch (UnsupportedOperationException exception)
+ {
+ /* This version of Android has a restriction
+ preventing submenus from being added to submenus.
+ Inflate everything into the parent menu
+ instead. */
+ item.subMenu.inflateMenuItems (menu);
+ continue;
+ }
/* This is still needed to set wasSubmenuSelected. */
menuItem = submenu.getItem ();