[gtk/matthiasc/for-master: 3/4] tooltip: Avoid criticals
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master: 3/4] tooltip: Avoid criticals
- Date: Thu, 21 May 2020 23:39:33 +0000 (UTC)
commit af162b70c5a2dee25ae437c907d57746a7a6eb36
Author: Matthias Clasen <mclasen redhat com>
Date: Thu May 21 18:59:58 2020 -0400
tooltip: Avoid criticals
It is possible that the target widget is already
unparented at the time that we call the tooltips
handle_event function. Quietly return in that case,
no need to emit a critical.
gtk/gtktooltip.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index 36b162885b..4d10edf3e1 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -919,18 +919,21 @@ _gtk_tooltip_handle_event (GtkWidget *target,
GdkSurface *surface;
double x, y;
double nx, ny;
- GtkWidget *native;
+ GtkNative *native;
if (!tooltips_enabled (event))
return;
+ native = gtk_widget_get_native (target);
+ if (!native)
+ return;
+
event_type = gdk_event_get_event_type (event);
surface = gdk_event_get_surface (event);
gdk_event_get_position (event, &x, &y);
- native = GTK_WIDGET (gtk_widget_get_native (target));
- gtk_native_get_surface_transform (GTK_NATIVE (native), &nx, &ny);
- gtk_widget_translate_coordinates (native, target, x - nx, y - ny, &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);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]