Skip to content

Handle repicks when actors become reactive

Carlos Garnacho requested to merge wip/carlosg/repick-on-reactive into main

The notification list in the GNOME Shell calendar popup triggers some interesting interactions when closing a notification:

  • Close button is clicked
  • The notification animates to be hidden
  • The next notification ends up hovered as a result of the animation
  • The notification being hovered sets its close button as non-transparent and reactive
  • The pointer is now again over a close button

At this point the reactiveness change should trigger a repick, so that the new notification's close button is picked, and future button presses are directed to it, but we do not handle this situation.

To fix this, handle actors becoming reactive so that if the closest reactive parent has a pointer, it will be repicked again just in case the pointer is over the newly reactive actor.

Closes: #2364 (closed)

Merge request reports