diff options
| -rw-r--r-- | core/java/android/view/WindowManagerGlobal.java | 15 |
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; } } |