diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index e49fc2512002e..6b14dba6eb81d 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -1645,8 +1645,11 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { WindowContainer ancestor = findCommonAncestor(sortedTargets, changes, topApp); - // make leash based on highest (z-order) direct child of ancestor with a participant. - WindowContainer leashReference = sortedTargets.get(0); + // Make leash based on highest (z-order) direct child of ancestor with a participant. + // TODO(b/261418859): Handle the case when the target contains window containers which + // belong to a different display. As a workaround we use topApp, from which wallpaper + // window container is removed, instead of sortedTargets here. + WindowContainer leashReference = topApp; while (leashReference.getParent() != ancestor) { leashReference = leashReference.getParent(); }