diff options
| author | 2014-02-12 12:37:17 -0800 | |
|---|---|---|
| committer | 2014-02-12 12:37:17 -0800 | |
| commit | ac90c19cab7e05dc8add6acbc8f74c9f854d098d (patch) | |
| tree | 741730eb50c8de3e8ae68337a9e53bf4203ded02 | |
| parent | 879592d89a78383a9e3cd29d53357f34337e5f04 (diff) | |
Don't add windows from exiting app tokens twice.
If an apptoken's removal has been delayed then it will be in both
mExitingAppTokens and the stack's tasks. When rebuilding the windows
the windows from that apptoken will get added twice. This change
skips adding those windows from apptokens that have already been
added from mExitingAppTokens.
Change-Id: I55f94b7dbef36aeacb390b91fbe82426eaac5458
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index c6976c9d8bcf..63aef8ffb4b2 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8067,6 +8067,9 @@ public class WindowManagerService extends IWindowManager.Stub final int numTokens = tokens.size(); for (int tokenNdx = 0; tokenNdx < numTokens; ++tokenNdx) { final AppWindowToken wtoken = tokens.get(tokenNdx); + if (wtoken.mDeferRemoval) { + continue; + } i = reAddAppWindowsLocked(displayContent, i, wtoken); } } |