summaryrefslogtreecommitdiff
path: root/gtk/gtktooltip.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2019-02-20 04:53:47 +0100
committerBenjamin Otte <otte@redhat.com>2019-02-20 05:26:31 +0100
commit01f7f255b5a2bb6407825c0f5dc05ecfe5cffe88 (patch)
treeaca81a7d0a5d37121fbbedd44ed05198f2b0d637 /gtk/gtktooltip.c
parent514c3679dc7647db1e64734dab3afc9c9e761e72 (diff)
downloadgtk+-01f7f255b5a2bb6407825c0f5dc05ecfe5cffe88.tar.gz
gtk: Check return value of compute_bounds()
Half of these calls will completely break if anybody ever uses CSS transforms with them, but hey...
Diffstat (limited to 'gtk/gtktooltip.c')
-rw-r--r--gtk/gtktooltip.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index 22fafbf47b..592d56d88a 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -585,11 +585,17 @@ gtk_tooltip_position (GtkTooltip *tooltip,
tooltip->tooltip_widget = new_tooltip_widget;
toplevel = _gtk_widget_get_toplevel (new_tooltip_widget);
- gtk_widget_compute_bounds (new_tooltip_widget, toplevel, &anchor_bounds);
- anchor_rect = (GdkRectangle) {
- floorf (anchor_bounds.origin.x), floorf (anchor_bounds.origin.y),
- ceilf (anchor_bounds.size.width), ceilf (anchor_bounds.size.height)
- };
+ if (gtk_widget_compute_bounds (new_tooltip_widget, toplevel, &anchor_bounds))
+ {
+ anchor_rect = (GdkRectangle) {
+ floorf (anchor_bounds.origin.x), floorf (anchor_bounds.origin.y),
+ ceilf (anchor_bounds.size.width), ceilf (anchor_bounds.size.height)
+ };
+ }
+ else
+ {
+ anchor_rect = (GdkRectangle) { 0, 0, 0, 0 };
+ }
settings = gtk_settings_get_for_display (display);
g_object_get (settings,