diff -up gtk+-2.18.3/gtk/gtkiconview.c.icon-view-hang gtk+-2.18.3/gtk/gtkiconview.c --- gtk+-2.18.3/gtk/gtkiconview.c.icon-view-hang 2009-10-09 01:00:44.000000000 -0400 +++ gtk+-2.18.3/gtk/gtkiconview.c 2009-10-23 20:09:18.670311545 -0400 @@ -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.);