diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c index 3da25d640..4b1c0813b 100644 --- a/clutter/clutter/clutter-actor.c +++ b/clutter/clutter/clutter-actor.c @@ -13266,6 +13266,22 @@ clutter_actor_set_animatable_property (ClutterActor *actor, g_object_thaw_notify (obj); } +static void +clutter_actor_update_pointer (ClutterActor *self) +{ + ClutterInputDevice *pointer; + ClutterStage *stage; + ClutterSeat *seat; + + stage = CLUTTER_STAGE (_clutter_actor_get_stage_internal (self)); + if (!stage) + return; + + seat = clutter_backend_get_default_seat (clutter_get_default_backend ()); + pointer = clutter_seat_get_pointer (seat); + clutter_stage_repick_device (stage, pointer); +} + static void clutter_actor_set_final_state (ClutterAnimatable *animatable, const gchar *property_name, @@ -13316,6 +13332,8 @@ clutter_actor_set_final_state (ClutterAnimatable *animatable, } } + clutter_actor_update_pointer (actor); + g_free (p_name); }