summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2020-12-31 08:02:10 +0100
committerTimm Bäder <mail@baedert.org>2021-01-03 11:01:29 +0100
commit06cce81a97e8cf5ef2ab78eec2d5c7c05d5de8b8 (patch)
tree155ed13c5a73027cfc024fdb6247e720f62420ca
parent4a1a7940d59a81d3a284e2365e1c8aa0044e215d (diff)
downloadgtk+-06cce81a97e8cf5ef2ab78eec2d5c7c05d5de8b8.tar.gz
widget: Use gtk_widget_get_native() in get_surface_allocation()
-rw-r--r--gtk/gtkwidget.c15
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),