diff options
author | Benjamin Otte <otte@redhat.com> | 2019-02-20 04:53:47 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2019-02-20 05:26:31 +0100 |
commit | 01f7f255b5a2bb6407825c0f5dc05ecfe5cffe88 (patch) | |
tree | aca81a7d0a5d37121fbbedd44ed05198f2b0d637 /gtk/gtktooltip.c | |
parent | 514c3679dc7647db1e64734dab3afc9c9e761e72 (diff) | |
download | gtk+-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.c | 16 |
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, |