From 13d968adbed19502cce23c92582f0dc3366a9614 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 23 Oct 2009 19:32:25 -0400 Subject: [PATCH] =?UTF-8?q?Bug=C2=A0581150=20-=20GtkIconView=20tries=20to?= =?UTF-8?q?=20paint=20items=20with=20invalid=20sizes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run gtk_icon_view_layout() if necessary before attempting to paint the icon view items during an expose event. This ensures all the items have valid sizes, as some themes don't take kindly to negative dimensions. --- gtk/gtkiconview.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 7bfbaa5573..bb6ba29100 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -1545,6 +1545,11 @@ gtk_icon_view_expose (GtkWidget *widget, if (expose->window != icon_view->priv->bin_window) return FALSE; + /* If a layout has been scheduled, do it now so that all + * cell view items have valid sizes before we proceed. */ + if (icon_view->priv->layout_idle_id != 0) + gtk_icon_view_layout (icon_view); + cr = gdk_cairo_create (icon_view->priv->bin_window); cairo_set_line_width (cr, 1.);