diff options
| author | 2016-02-09 21:51:30 -0800 | |
|---|---|---|
| committer | 2016-02-10 18:25:22 +0000 | |
| commit | dcb68145236b9ed9f6ea6ee9456db2fca456df3c (patch) | |
| tree | deede8676d4334f1234cdf95ecc8b579ff3332c2 | |
| parent | 405da7c59bf1a28c3277f52c532ad1c823e5ff58 (diff) | |
Reset docked stack resizing when divider dies
Bug: 27062375
Change-Id: I699f8d99ceab8405bcb973942787ee80caea12b2
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 3430b3484ef7..2096ea065d0d 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1621,11 +1621,14 @@ final class WindowState implements WindowManagerPolicy.WindowState { mService.removeWindowLocked(win); if (win.mAttrs.type == TYPE_DOCK_DIVIDER) { // The owner of the docked divider died :( We reset the docked stack, - // just in case they have the divider at an unstable position. + // just in case they have the divider at an unstable position. Better + // also reset drag resizing state, because the owner can't do it + // anymore. final TaskStack stack = mService.mStackIdToStack.get(DOCKED_STACK_ID); if (stack != null) { stack.resetDockedStackToMiddle(); } + mService.setDockedStackResizing(false); } } else if (mHasSurface) { Slog.e(TAG, "!!! LEAK !!! Window removed but surface still valid."); |