[gtk+] Bug 581150 - GtkIconView tries to paint items with invalid sizes



commit 13d968adbed19502cce23c92582f0dc3366a9614
Author: Matthew Barnes <mbarnes redhat com>
Date:   Fri Oct 23 19:32:25 2009 -0400

    Bug 581150 - GtkIconView tries to paint items with invalid sizes
    
    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 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index 7bfbaa5..bb6ba29 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.);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]