popover: Hide if we don't get enough size

If the compositor does not give us our min size, we have to
disappear, or we risk criticals from underallocating widgets.
This commit is contained in:
Matthias Clasen 2024-06-26 17:31:38 -04:00
parent 40b13bfa35
commit a4cc95b293

View File

@ -698,6 +698,14 @@ gtk_popover_native_layout (GtkNative *native,
GtkPopover *popover = GTK_POPOVER (native);
GtkPopoverPrivate *priv = gtk_popover_get_instance_private (popover);
GtkWidget *widget = GTK_WIDGET (popover);
GtkRequisition min, nat;
gtk_widget_get_preferred_size (widget, &min, &nat);
if (width < min.width || height < min.height)
{
gtk_popover_popdown (popover);
return;
}
update_popover_layout (popover, gdk_popup_layout_ref (priv->layout), width, height);