diff options
author | Timm Bäder <mail@baedert.org> | 2020-12-31 08:02:10 +0100 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2021-01-03 11:01:29 +0100 |
commit | 06cce81a97e8cf5ef2ab78eec2d5c7c05d5de8b8 (patch) | |
tree | 155ed13c5a73027cfc024fdb6247e720f62420ca | |
parent | 4a1a7940d59a81d3a284e2365e1c8aa0044e215d (diff) | |
download | gtk+-06cce81a97e8cf5ef2ab78eec2d5c7c05d5de8b8.tar.gz |
widget: Use gtk_widget_get_native() in get_surface_allocation()
-rw-r--r-- | gtk/gtkwidget.c | 15 |
1 files 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), |