From a99764e5978b51021db8575912b448d85541379b Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Wed, 6 Mar 2013 10:22:16 -0800 Subject: [PATCH] Add window leak check and possible recovery. Search output for "!!! LEAK !!!" For bug 8322020. Change-Id: I6db572a1c7fe0e6b386ccb0dba08bc376659a75a --- services/java/com/android/server/wm/WindowState.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/java/com/android/server/wm/WindowState.java b/services/java/com/android/server/wm/WindowState.java index a0ed53001e003..506fcecfa51b4 100644 --- a/services/java/com/android/server/wm/WindowState.java +++ b/services/java/com/android/server/wm/WindowState.java @@ -997,6 +997,9 @@ final class WindowState implements WindowManagerPolicy.WindowState { Slog.i(TAG, "WIN DEATH: " + win); if (win != null) { mService.removeWindowLocked(mSession, win); + } else if (WindowState.this.mHasSurface) { + Slog.e(TAG, "!!! LEAK !!! Window removed but surface still valid."); + mService.removeWindowLocked(mSession, WindowState.this); } } } catch (IllegalArgumentException ex) {