wayland: Fix transaction cleanup with destroyed surfaces
When sorting surfaces in the ancestor order we need to ignore null surfaces. In addition to that, we also need to properly handle the case where a transaction with dependencies is unlocked and it contains null surfaces. For example, if there are three transactions A -> B -> C, and the B transaction is unlocked, we cannot apply it until transaction A is applied. The readiness check is based on checking the first pending transaction of the surface. But if the surface is null, the check will be skipped, which is not ideal as transaction B can be applied before transaction A now. To address that, this change makes every transaction entry remember the previous transaction. With that, the readiness check can be performed even if the surface has been destroyed. BUG: 475648master
parent
816d2866c7
commit
d52ba8c3fe
Loading…
Reference in New Issue