From c6b3c90e41d46c06c88a6f2b23762618c1f082fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 3 Aug 2022 18:39:44 +0200 Subject: [PATCH] clutter/actor: Introduce private function to peek actions We'll need to take a look at the actions of actors twice for every single event emission once we move emission to the stage, let's not copy around lists for that. Part-of: --- clutter/clutter/clutter-actor-private.h | 2 ++ clutter/clutter/clutter-actor.c | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/clutter/clutter/clutter-actor-private.h b/clutter/clutter/clutter-actor-private.h index b3d72748f..0e343d9e2 100644 --- a/clutter/clutter/clutter-actor-private.h +++ b/clutter/clutter/clutter-actor-private.h @@ -279,6 +279,8 @@ void clutter_actor_collect_event_actors (ClutterActor *self, ClutterActor *deepmost, GPtrArray *actors); +const GList * clutter_actor_peek_actions (ClutterActor *self); + G_END_DECLS #endif /* __CLUTTER_ACTOR_PRIVATE_H__ */ diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c index 4c5590d49..110f19c40 100644 --- a/clutter/clutter/clutter-actor.c +++ b/clutter/clutter/clutter-actor.c @@ -19195,3 +19195,14 @@ clutter_actor_collect_event_actors (ClutterActor *self, g_ptr_array_add (actors, g_object_ref (self)); } } + +const GList * +clutter_actor_peek_actions (ClutterActor *self) +{ + ClutterActorPrivate *priv = self->priv; + + if (priv->actions == NULL) + return NULL; + + return _clutter_meta_group_peek_metas (priv->actions); +}