Skip to content

clutter: Undo actor grabs along with ::unrealize

Carlos Garnacho requested to merge wip/carlosg/undo-grabs-harder into main

If an actor is being unrealized or otherwise unparented, it's a good indication that its grabs are now stale and possibly harmful. Ensure these are dropped when the actor is unparented.

This is now an unlikely event, since there is code to also dismiss grabs when a visible grabbed actor goes unmapped. But that may be prevented from happening, or the ordering of circumstances allow a grab to be created and an actor destroyed without going unmapped first. This grab dismission on unmap stays as it matches the UI-level expectatives that an actor must be visible to be grabbed.

Related: #2475 (closed)

Merge request reports