107e521553
Dropping the grab has the side effect that the pointer will be re-picked, and it might find another surface with a pointer constraint. If that were the case, the focus change would try to add the pointer constraint before the now old focus surface released its own. Just invert these operations, so the constraint is unset before the repick that might enable another pointer constraint. Closes: https://gitlab.gnome.org/GNOME/mutter/issues/779