[mutter/wip/carlosg/grabs-pt1: 76/86] clutter: Make crossing events unstoppable




commit 66611c89279418a09d693079a9a0631c4323bee7
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Oct 26 16:23:03 2021 +0200

    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.

 clutter/clutter/clutter-actor.c | 6 ++++++
 1 file changed, 6 insertions(+)
---
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index c43b8a4fb5..7d911632e2 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -12388,6 +12388,12 @@ clutter_actor_event (ClutterActor       *actor,
  handled:
   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;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]