diff options
Diffstat (limited to 'gtk/gtkentry.c')
-rw-r--r-- | gtk/gtkentry.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index d3f676fe4a..bfe68899c9 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -2829,15 +2829,16 @@ gtk_entry_get_icon_at_pos (GtkEntry *entry, for (i = 0; i < MAX_ICONS; i++) { EntryIconInfo *icon_info = priv->icons[i]; - double icon_x, icon_y; + graphene_point_t p; if (icon_info == NULL) continue; - gtk_widget_translate_coordinates (GTK_WIDGET (entry), icon_info->widget, - x, y, &icon_x, &icon_y); + if (!gtk_widget_compute_point (GTK_WIDGET (entry), icon_info->widget, + &GRAPHENE_POINT_INIT (x, y), &p)) + continue; - if (gtk_widget_contains (icon_info->widget, icon_x, icon_y)) + if (gtk_widget_contains (icon_info->widget, p.x, p.y)) return i; } |