Don't perform layout while adjusting displays/stacks state.
When we detach the stack from the display we are in an inconsistent state. We need to finish that operation, before we start laying out things again. Otherwise we will encounter subtle bugs, where stack is partially closed, but still used during the layout. Display detachment was already doing the right thing and scheduling a layout after it finishes the display detach. However, removing the stack's windows was triggering immediate relayout and causing a crash. This CL also adds some missing synchronization around WindowManagerService.mStackIdToStack, which is in most cases protected by mWindowMap. Bug: 22191609 Bug: 23615329 Change-Id: I1e2fc42e1a5b673be808acdec473f85f138d7062
Loading
Please register or sign in to comment