diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java index 25445abefca20..ac4c2ea448ac8 100644 --- a/core/java/android/view/WindowManagerGlobal.java +++ b/core/java/android/view/WindowManagerGlobal.java @@ -404,9 +404,10 @@ public final class WindowManagerGlobal { try { root.setView(view, wparams, panelParentView, userId); } catch (RuntimeException e) { + final int viewIndex = findViewLocked(view, false); // BadTokenException or InvalidDisplayException, clean up. - if (index >= 0) { - removeViewLocked(index, true); + if (viewIndex >= 0) { + removeViewLocked(viewIndex, true); } throw e; }