From: Matthias Clasen Date: Sat, 25 Mar 2023 13:46:34 +0000 (-0400) Subject: entrycompletion: Stop using gtk_widget_get_surface_allocation X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~503^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=cf03552b04c3069129924b28e1522e0cc19d4a94;p=gtk4.git entrycompletion: Stop using gtk_widget_get_surface_allocation We only need the width of the widgets' bounds here anyway, so just use gtk_widget_compute_bounds. --- diff --git a/gtk/deprecated/gtkentrycompletion.c b/gtk/deprecated/gtkentrycompletion.c index fd447be885..f3319e26af 100644 --- a/gtk/deprecated/gtkentrycompletion.c +++ b/gtk/deprecated/gtkentrycompletion.c @@ -1120,7 +1120,7 @@ gtk_entry_completion_get_text_column (GtkEntryCompletion *completion) void _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) { - GtkAllocation allocation; + graphene_rect_t bounds; int matches, items, height; GdkSurface *surface; GtkRequisition entry_req; @@ -1135,19 +1135,20 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) if (!completion->filter_model) return; - gtk_widget_get_surface_allocation (completion->entry, &allocation); - gtk_widget_get_preferred_size (completion->entry, - &entry_req, NULL); + if (!gtk_widget_compute_bounds (completion->entry, + GTK_WIDGET (gtk_widget_get_native (completion->entry)), + &bounds)) + graphene_rect_init (&bounds, 0, 0, 0, 0); + + gtk_widget_get_preferred_size (completion->entry, &entry_req, NULL); matches = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->filter_model), NULL); /* Call get preferred size on the on the tree view to force it to validate its * cells before calling into the cell size functions. */ - gtk_widget_get_preferred_size (completion->tree_view, - &tree_req, NULL); - gtk_tree_view_column_cell_get_size (completion->column, - NULL, NULL, NULL, &height); + gtk_widget_get_preferred_size (completion->tree_view, &tree_req, NULL); + gtk_tree_view_column_cell_get_size (completion->column, NULL, NULL, NULL, &height); gtk_widget_realize (completion->tree_view); @@ -1159,7 +1160,7 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) gtk_widget_show (completion->scrolled_window); if (completion->popup_set_width) - width = allocation.width; + width = ceilf (bounds.size.width); else width = -1;