summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/org/gnu/emacs/EmacsView.java21
-rw-r--r--java/org/gnu/emacs/EmacsWindowAttachmentManager.java2
2 files changed, 22 insertions, 1 deletions
diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java
index 878ef2f3fbf..681da98fa16 100644
--- a/java/org/gnu/emacs/EmacsView.java
+++ b/java/org/gnu/emacs/EmacsView.java
@@ -514,6 +514,17 @@ public final class EmacsView extends ViewGroup
contextMenu = null;
popupActive = false;
+
+ /* It is not possible to know with 100% certainty which activity
+ is currently displaying the context menu. Loop through each
+ activity and call `closeContextMenu' instead. */
+
+ for (EmacsWindowAttachmentManager.WindowConsumer consumer
+ : EmacsWindowAttachmentManager.MANAGER.consumers)
+ {
+ if (consumer instanceof EmacsActivity)
+ ((EmacsActivity) consumer).closeContextMenu ();
+ }
}
@Override
@@ -646,6 +657,16 @@ public final class EmacsView extends ViewGroup
return isCurrentlyTextEditor;
}
+ @Override
+ public boolean
+ isOpaque ()
+ {
+ /* Returning true here allows the system to not draw the contents
+ of windows underneath this view, thereby improving
+ performance. */
+ return true;
+ }
+
public synchronized void
setICMode (int icMode)
{
diff --git a/java/org/gnu/emacs/EmacsWindowAttachmentManager.java b/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
index 30f29250970..c0197ab802c 100644
--- a/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
+++ b/java/org/gnu/emacs/EmacsWindowAttachmentManager.java
@@ -67,7 +67,7 @@ public final class EmacsWindowAttachmentManager
public void destroy ();
};
- private List<WindowConsumer> consumers;
+ public List<WindowConsumer> consumers;
public List<EmacsWindow> windows;
public