diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c index 2532472877..050432abb9 100644 --- a/gtk/gtkpopover.c +++ b/gtk/gtkpopover.c @@ -647,6 +647,26 @@ present_popup (GtkPopover *popover) */ void gtk_popover_present (GtkPopover *popover) +{ + gtk_popover_update_allocation (popover); +} + +/** + * gtk_popover_update_allocation: + * @popover: a `GtkPopover` + * + * Allocate a size for the `GtkPopover`. + * + * This function needs to be called in size-allocate by widgets + * who have a `GtkPopover` as child. When using a layout manager, + * this is happening automatically. + * + * To make a popover appear on screen, use [method@Gtk.Popover.popup]. + * + * Since: 4.12 + */ +void +gtk_popover_update_allocation (GtkPopover *popover) { GtkWidget *widget = GTK_WIDGET (popover); diff --git a/gtk/gtkpopover.h b/gtk/gtkpopover.h index 9bda7c967a..e46814ad7a 100644 --- a/gtk/gtkpopover.h +++ b/gtk/gtkpopover.h @@ -123,6 +123,9 @@ void gtk_popover_set_default_widget (GtkPopover *popover, GDK_AVAILABLE_IN_ALL void gtk_popover_present (GtkPopover *popover); +GDK_AVAILABLE_IN_4_12 +void gtk_popover_update_allocation (GtkPopover *popover); + G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkPopover, g_object_unref) G_END_DECLS