From 06cce81a97e8cf5ef2ab78eec2d5c7c05d5de8b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 31 Dec 2020 08:02:10 +0100 Subject: widget: Use gtk_widget_get_native() in get_surface_allocation() --- gtk/gtkwidget.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index a61bf419e1..2ab136a486 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3425,21 +3425,18 @@ void gtk_widget_get_surface_allocation (GtkWidget *widget, GtkAllocation *allocation) { - GtkWidget *parent; + GtkNative *native; graphene_rect_t bounds; double nx, ny; - /* Don't consider the parent == widget case here. */ - parent = _gtk_widget_get_parent (widget); - while (parent && !GTK_IS_NATIVE (parent)) - parent = _gtk_widget_get_parent (parent); + native = gtk_widget_get_native (widget); - g_assert (GTK_IS_WINDOW (parent) || GTK_IS_POPOVER (parent)); - gtk_native_get_surface_transform (GTK_NATIVE (parent), &nx, &ny); + g_assert (GTK_IS_WINDOW (native) || GTK_IS_POPOVER (native)); + gtk_native_get_surface_transform (native, &nx, &ny); - if (gtk_widget_compute_bounds (widget, parent, &bounds)) + if (gtk_widget_compute_bounds (widget, GTK_WIDGET (native), &bounds)) { - *allocation = (GtkAllocation){ + *allocation = (GtkAllocation) { floorf (bounds.origin.x) + nx, floorf (bounds.origin.y) + ny, ceilf (bounds.size.width), -- cgit v1.2.1