[gtk+/extended-layout-jhs: 45/64] Fix up the mess I commited before. Rule of the thumb: Never write code



commit 0e817596f111c291b90ce347b3b71c0a376f6138
Author: Mathias Hasselmann <mathias hasselmann gmx de>
Date:   Wed Aug 1 13:02:33 2007 +0000

    Fix up the mess I commited before. Rule of the thumb: Never write code
    
    2007-08-01  Mathias Hasselmann  <mathias hasselmann gmx de>
    
    	* gtk/gtkcellview.c: Fix up the mess I commited before.
    	Rule of the thumb: Never write code when tired or in hurry.
    
    svn path=/branches/extended-layout/; revision=18563

 ChangeLog.gtk-extended-layout |    5 +++++
 gtk/gtkcellview.c             |   15 ++++++++++++++-
 2 files changed, 19 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog.gtk-extended-layout b/ChangeLog.gtk-extended-layout
index d6cdc34..a695f70 100644
--- a/ChangeLog.gtk-extended-layout
+++ b/ChangeLog.gtk-extended-layout
@@ -1,3 +1,8 @@
+2007-08-01  Mathias Hasselmann  <mathias hasselmann gmx de>
+
+	* gtk/gtkcellview.c: Fix up the mess I commited before.
+	Rule of the thumb: Never write code when tired or in hurry.
+
 2007-07-29  Mathias Hasselmann  <mathias hasselmann gmx de>
 
 	* gtk/gtkcellview.c: Avoid rounding errors in size
diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c
index 9e35df4..22a80bc 100644
--- a/gtk/gtkcellview.c
+++ b/gtk/gtkcellview.c
@@ -366,7 +366,18 @@ gtk_cell_view_size_allocate (GtkWidget     *widget,
       if (!info->cell->visible)
         continue;
 
-      info->real_width = info->requested_width + (info->expand?extra_space:0);
+      info->real_width = info->requested_width;
+
+      if (info->expand)
+        {
+          if (1 == nexpand_cells)
+            info->real_width += available;
+          else
+            info->real_width += extra;
+
+          nexpand_cells -= 1;
+          available -= extra;
+        }
     }
 
   /* iterate list for PACK_END cells */
@@ -380,6 +391,8 @@ gtk_cell_view_size_allocate (GtkWidget     *widget,
       if (!info->cell->visible)
         continue;
 
+      info->real_width = info->requested_width;
+
       if (info->expand)
         {
           if (1 == nexpand_cells)



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