From 6ee618509a392adb183c2e70390cd9e2031ff0d8 Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Tue, 2 Dec 2014 16:47:29 -0800 Subject: Don't process windows belonging to unshown users Add a test for whether a window will be shown to the current user. Otherwise we wait to process windows that are drawn but will never be shown. Consequently we end up in a layout loop that continues to set pendingLayoutChanges at the point where "wallpaper and commitFinishDrawingLocked true" message is generated. Fixes bug 18510914. Change-Id: Ib067b41b5f26b146ee6bdb16c2f3b07d20aa2c54 --- services/core/java/com/android/server/wm/WindowManagerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 6a55ffce79e3..b7857e12a0fe 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -9764,7 +9764,7 @@ public class WindowManagerService extends IWindowManager.Stub w.mContentChanged = false; // Moved from updateWindowsAndWallpaperLocked(). - if (w.mHasSurface) { + if (w.mHasSurface && !w.isHiddenFromUserLocked()) { // Take care of the window being ready to display. final boolean committed = winAnimator.commitFinishDrawingLocked(currentTime); -- cgit v1.2.3-59-g8ed1b