clutter: Make crossing events unstoppable

These events are not meant to be ever silenced away, every actor
that is meant to receive one should do so. Make it sure that those
events cannot be stopped, despite the event signal handlers return
values.

This opens the debate about whether crossing events should be
ClutterEvents, since they are more and more uncommon at being one,
maybe this notification mechanism should be taken away from the
event machinery, but that's something for future refactors.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2068>
This commit is contained in:
Carlos Garnacho 2021-10-26 16:23:03 +02:00 committed by Marge Bot
parent a60658f15e
commit 40793e7077

View File

@ -12388,6 +12388,12 @@ clutter_actor_event (ClutterActor *actor,
handled: handled:
g_object_unref (actor); g_object_unref (actor);
if (event->type == CLUTTER_ENTER || event->type == CLUTTER_LEAVE)
{
g_warn_if_fail (retval == CLUTTER_EVENT_PROPAGATE);
return CLUTTER_EVENT_PROPAGATE;
}
return retval; return retval;
} }