Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b246acb authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Ensure order of transaction for surface reparent

This avoids the case:
(1) Pending transaction reparents a window to an animation leash.
    Though it may come from some places that use pending transaction,
    such as applyStartingWindowAnimationa and WS#startAnimation,
    even if the callers use getSyncTransaction, it may still return
    pending transaction if there is no sync state.
(2) Sync transaction restores the window to original parent.
(3) Sync transaction applies in shell.
(4) Pending transaction applies in core (on vsync).

The expected result should be that the window still stay in its
original parent. But the order will cause the window to be put in
the removed animation leash.

So this change makes sure the pending transaction is applied before
(3) if surface animator uses pending transaction to reparent/remove.

Bug: 313329824
Bug: 384659191
Flag: EXEMPT bugfix
Test: TransitionTests#testTransitionVisibleChange

Change-Id: Id35577ace8f1d83a8244bc54e6b899284ba6bfe0
parent c05c4e0e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment