From 869d9e8fe7754526017a5eee7796fb9526f79788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 6 Oct 2017 13:51:17 +0200 Subject: [PATCH] =?UTF-8?q?Widget:=20make=20sure=20windowed=20widgets=20ha?= =?UTF-8?q?ve=20a=201=C3=971=20min=20size?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gtk/gtkwidget.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index f663dac12c..3b425cb22a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -5490,6 +5490,12 @@ gtk_widget_size_allocate (GtkWidget *widget, real_allocation.height = 0; } + if (G_UNLIKELY (_gtk_widget_get_has_window (widget))) + { + real_allocation.width = MAX (1, real_allocation.width); + real_allocation.height = MAX (1, real_allocation.height); + } + baseline_changed = priv->allocated_baseline != baseline; size_changed = (priv->allocation.width != real_allocation.width || priv->allocation.height != real_allocation.height); @@ -8012,6 +8018,10 @@ gtk_widget_set_has_window (GtkWidget *widget, widget->priv->no_window = !has_window; widget->priv->no_window_set = TRUE; + + /* GdkWindow has a min size of 1×1 */ + widget->priv->allocation.width = 1; + widget->priv->allocation.height = 1; } /**