[gnome-shell/wip/carlosg/no-event-source: 7/8] st: Move StEntry away from clutter_event_get_source()
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/carlosg/no-event-source: 7/8] st: Move StEntry away from clutter_event_get_source()
- Date: Wed, 2 Mar 2022 11:20:55 +0000 (UTC)
commit e03a1a15b8d4dbaf8114a6cd1dd05b2b52d57e46
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Feb 25 16:11:54 2022 +0100
st: Move StEntry away from clutter_event_get_source()
Ask the stage about the device actor instead. Since leaving the
StEntry also means leaving the contained ClutterText, the checks
on LEAVE can be just removed.
src/st/st-entry.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/st/st-entry.c b/src/st/st-entry.c
index 2211185b4f..625bbf2523 100644
--- a/src/st/st-entry.c
+++ b/src/st/st-entry.c
@@ -789,7 +789,13 @@ st_entry_enter_event (ClutterActor *actor,
ClutterCrossingEvent *event)
{
StEntryPrivate *priv = ST_ENTRY_PRIV (actor);
- if (event->source == priv->entry && event->related != NULL)
+ ClutterStage *stage;
+ ClutterActor *target;
+
+ stage = clutter_event_get_stage ((ClutterEvent *) event);
+ target = clutter_stage_get_event_actor (stage, (ClutterEvent *) event);
+
+ if (target == priv->entry && event->related != NULL)
st_entry_set_cursor (ST_ENTRY (actor), TRUE);
return CLUTTER_ACTOR_CLASS (st_entry_parent_class)->enter_event (actor, event);
@@ -799,9 +805,7 @@ static gboolean
st_entry_leave_event (ClutterActor *actor,
ClutterCrossingEvent *event)
{
- StEntryPrivate *priv = ST_ENTRY_PRIV (actor);
- if (event->source == priv->entry && event->related != NULL)
- st_entry_set_cursor (ST_ENTRY (actor), FALSE);
+ st_entry_set_cursor (ST_ENTRY (actor), FALSE);
return CLUTTER_ACTOR_CLASS (st_entry_parent_class)->leave_event (actor, event);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]