[gtk+] label: Don't create the layout in size_allocate() if not needed



commit 9992efdb0e7d0cf52e47817fe049b97967400731
Author: Benjamin Otte <otte redhat com>
Date:   Tue Mar 29 13:24:34 2011 +0200

    label: Don't create the layout in size_allocate() if not needed
    
    Just update its size if it already exists.

 gtk/gtklabel.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)
---
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 7431b0f..ebf4431 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -3803,13 +3803,8 @@ gtk_label_size_allocate (GtkWidget     *widget,
 
   GTK_WIDGET_CLASS (gtk_label_parent_class)->size_allocate (widget, allocation);
 
-  /* The layout may have been recently cleared in get_size_for_orientation(),
-   * but the width at that point may not be the same as the allocated width
-   */
-  if (priv->wrap)
-    gtk_label_clear_layout (label);
-
-  gtk_label_ensure_layout (label);
+  if (priv->layout)
+    gtk_label_update_layout_width (label);
 
   if (priv->select_info && priv->select_info->window)
     {



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