summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/WindowManagerGlobal.java15
1 files changed, 6 insertions, 9 deletions
diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java
index 11734d31388e..830df990f205 100644
--- a/core/java/android/view/WindowManagerGlobal.java
+++ b/core/java/android/view/WindowManagerGlobal.java
@@ -335,20 +335,17 @@ public final class WindowManagerGlobal {
mViews.add(view);
mRoots.add(root);
mParams.add(wparams);
- }
- // do this last because it fires off messages to start doing things
- try {
- root.setView(view, wparams, panelParentView);
- } catch (RuntimeException e) {
- // BadTokenException or InvalidDisplayException, clean up.
- synchronized (mLock) {
- final int index = findViewLocked(view, false);
+ // do this last because it fires off messages to start doing things
+ try {
+ root.setView(view, wparams, panelParentView);
+ } catch (RuntimeException e) {
+ // BadTokenException or InvalidDisplayException, clean up.
if (index >= 0) {
removeViewLocked(index, true);
}
+ throw e;
}
- throw e;
}
}