forked from AuroraMiddleware/gtk
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:
commit
de94f3d97f
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user