tests: Move away from clutter_event_get_source()

The target actor as seen by the stage is equivalent, so use that.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2311>
This commit is contained in:
Carlos Garnacho 2022-02-25 13:06:20 +01:00 committed by Marge Bot
parent 9b6253bf3f
commit 5dd818cf1a
2 changed files with 27 additions and 5 deletions

View File

@ -185,7 +185,7 @@ input_cb (ClutterActor *actor,
gpointer data) gpointer data)
{ {
ClutterActor *stage = clutter_actor_get_stage (actor); ClutterActor *stage = clutter_actor_get_stage (actor);
ClutterActor *source_actor = clutter_event_get_source (event); ClutterActor *source_actor;
graphene_point_t position; graphene_point_t position;
gchar *state; gchar *state;
gchar keybuf[128]; gchar keybuf[128];
@ -195,6 +195,18 @@ input_cb (ClutterActor *actor,
device = clutter_event_get_device (event); device = clutter_event_get_device (event);
device_name = clutter_input_device_get_device_name (device); device_name = clutter_input_device_get_device_name (device);
if (event->type == CLUTTER_KEY_PRESS ||
event->type == CLUTTER_KEY_RELEASE)
{
source_actor = clutter_stage_get_key_focus (CLUTTER_STAGE (stage));
}
else
{
source_actor = clutter_stage_get_device_actor (CLUTTER_STAGE (stage),
device,
clutter_event_get_event_sequence (event));
}
source = clutter_event_get_source_device (event); source = clutter_event_get_source_device (event);
if (source) if (source)
source_name = clutter_input_device_get_device_name (source); source_name = clutter_input_device_get_device_name (source);

View File

@ -15,6 +15,7 @@ debug_event_cb (ClutterActor *actor,
gpointer data) gpointer data)
{ {
gchar keybuf[9], *source = (gchar*)data; gchar keybuf[9], *source = (gchar*)data;
ClutterActor *target;
int len = 0; int len = 0;
switch (event->type) switch (event->type)
@ -93,8 +94,11 @@ debug_event_cb (ClutterActor *actor,
return FALSE; return FALSE;
} }
if (clutter_event_get_source (event) == actor) target = clutter_stage_get_device_actor (clutter_event_get_stage (event),
printf(" *source*"); clutter_event_get_device (event),
clutter_event_get_event_sequence (event));
if (target == actor)
printf(" *target*");
printf("\n"); printf("\n");
@ -142,8 +146,14 @@ toggle_grab_pointer_cb (ClutterActor *actor,
ClutterEvent *event, ClutterEvent *event,
gpointer data) gpointer data)
{ {
ClutterActor *target;
/* we only deal with the event if the source is ourself */ /* we only deal with the event if the source is ourself */
if (event->button.source == actor) target = clutter_stage_get_device_actor (clutter_event_get_stage (event),
clutter_event_get_device (event),
clutter_event_get_event_sequence (event));
if (target == actor)
{ {
ClutterStage *stage = CLUTTER_STAGE (clutter_actor_get_stage (actor)); ClutterStage *stage = CLUTTER_STAGE (clutter_actor_get_stage (actor));
ClutterGrab *grab; ClutterGrab *grab;