summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsWindowManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/org/gnu/emacs/EmacsWindowManager.java')
-rw-r--r--java/org/gnu/emacs/EmacsWindowManager.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/java/org/gnu/emacs/EmacsWindowManager.java b/java/org/gnu/emacs/EmacsWindowManager.java
index a239fdc8ac2..41ea3a15809 100644
--- a/java/org/gnu/emacs/EmacsWindowManager.java
+++ b/java/org/gnu/emacs/EmacsWindowManager.java
@@ -221,11 +221,14 @@ public final class EmacsWindowManager
{
consumer.detachWindow ();
- /* Though pruneWindows will likely remove the same windows, call
- onActivityDetached anyway if isFinishing is set, as in
- obscure circumstances pruneWindows will not remove frames
- bound to the system-started task. */
- if (isFinishing)
+ /* Though pruneWindows will likely remove the same window(s),
+ call onActivityDetached anyway if isFinishing is set, if
+ CONSUMER not be a multitasking activity, as in obscure
+ circumstances pruneWindows will not remove frames bound to
+ the system-started task. */
+ if (isFinishing
+ && (!(consumer instanceof EmacsMultitaskActivity)
+ || Build.VERSION.SDK_INT < Build.VERSION_CODES.Q))
window.onActivityDetached ();
}