Merge branch 'gtktooltip.c-optimise' into 'main'

gtk/gtktooltip.c: check result of event position get operation

Closes #5134

See merge request GNOME/gtk!4996
This commit is contained in:
Matthias Clasen 2022-09-09 14:56:33 +00:00
commit de94f3d97f

View File

@ -925,16 +925,18 @@ _gtk_tooltip_handle_event (GtkWidget *target,
return;
event_type = gdk_event_get_event_type (event);
surface = gdk_event_get_surface (event);
gdk_event_get_position (event, &x, &y);
/* ignore synthetic motion events */
if (event_type == GDK_MOTION_NOTIFY &&
gdk_event_get_time (event) == GDK_CURRENT_TIME)
return;
gtk_native_get_surface_transform (native, &nx, &ny);
gtk_widget_translate_coordinates (GTK_WIDGET (native), target, x - nx, y - ny, &x, &y);
surface = gdk_event_get_surface (event);
if (gdk_event_get_position (event, &x, &y))
{
gtk_native_get_surface_transform (native, &nx, &ny);
gtk_widget_translate_coordinates (GTK_WIDGET (native), target, x - nx, y - ny, &x, &y);
}
gtk_tooltip_handle_event_internal (event_type, surface, target, x, y);
}