Skip to content
Commit d7bdb80e authored by Evan Rosky's avatar Evan Rosky
Browse files

Create surfacecontrol before layout in relayoutWindow

If there is no surfacecontrol, relayout is skipped. This is
often fine because a later surfaceplacement pass usually
happens; however, when combined with commitFinishDrawingLocked
being out-of-order with layout during traversal, a race can
happen where relayoutWindow creates the surface (after
surface placement) and then commitFinishDrawing runs immediately
after that causing a windowanimation to use non-laid-out
surface positions.

Bug: 174636007
Test: Use logging to verify that layout/surface-placement happen
      during relayoutWindow on a new window.
Change-Id: I05be878902995d421a0f073129ce1e86c03724f5
parent bf33f709
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment