cvs server: Diffing .
cvs server: Diffing pixmaps
cvs server: Diffing po
cvs server: Diffing src
Index: src/glade-gtk.c
===================================================================
RCS file: /cvs/gnome/glade3/src/glade-gtk.c,v
retrieving revision 1.48
diff -u -r1.48 glade-gtk.c
--- src/glade-gtk.c	8 May 2004 20:01:30 -0000	1.48
+++ src/glade-gtk.c	30 Sep 2004 18:23:57 -0000
@@ -430,33 +430,39 @@
 			gtk_table_resize (table, new_size, table->ncols);
 
 			for (i = 0; i < table->ncols; i++)
-				for (j = old_size; j < table->nrows; j++)
+				for (j = old_size; j < table->nrows; j++){
 					gtk_table_attach_defaults (table, glade_placeholder_new (),
 								   i, i + 1, j, j + 1);
+									
+				}
 		} else {
 			gtk_table_resize (table, table->nrows, new_size);
 
 			for (i = old_size; i < table->ncols; i++)
-				for (j = 0; j < table->nrows; j++)
+				for (j = 0; j < table->nrows; j++){
 					gtk_table_attach_defaults (table, glade_placeholder_new (),
 								   i, i + 1, j, j + 1);
+									
+				}
 		}
 	} else {
-		/* Remove from the bottom up */
-		GList *list = g_list_reverse (g_list_copy (gtk_container_get_children (GTK_CONTAINER (table))));
-		GList *freeme = list;
-		for (; list; list = list->next) {
-			GtkTableChild *child = list->data;
+		GList *list;
+		GList *list_to_free = NULL;
+
+      		for (list = table->children; list; list = list->next){
+			GtkTableChild *child;
+		
+			child = list->data;
+			if(!child)continue;
 			gint start = for_rows ? child->top_attach : child->left_attach;
 			gint end = for_rows ? child->bottom_attach : child->right_attach;
-
+			
 			/* We need to completely remove it */
 			if (start >= new_size) {
-				gtk_container_remove (GTK_CONTAINER (table),
-						      child->widget);
+				list_to_free = g_list_append(list_to_free,child);
 				continue;
 			}
-
+			
 			/* If the widget spans beyond the new border, we should resize it to fit on the new table */
 			if (end > new_size)
 				gtk_container_child_set (GTK_CONTAINER (table), GTK_WIDGET (child),
@@ -464,10 +470,19 @@
 							 new_size, NULL);
 			
 		}
-		g_list_free (freeme);
+		if(list_to_free){
+			for (list_to_free = g_list_first(list_to_free); list_to_free; list_to_free = list_to_free->next){
+				GtkTableChild *child;
+			
+				child = list_to_free->data;
+				gtk_container_remove (GTK_CONTAINER (table), child->widget);
+			}
+			g_list_free (list_to_free);
+		}
 		gtk_table_resize (table,
-				  for_rows ? new_size : table->nrows,
-				  for_rows ? table->ncols : new_size);
+				for_rows ? new_size : table->nrows,
+				for_rows ? table->ncols : new_size);
+		
 	}
 
 	g_object_set_data (object, "glade_nb_placeholders", GINT_TO_POINTER (new_size * (for_rows ? table->ncols : table->nrows)));
cvs server: Diffing widgets
Index: widgets/gtktable.xml
===================================================================
RCS file: /cvs/gnome/glade3/widgets/gtktable.xml,v
retrieving revision 1.19
diff -u -r1.19 gtktable.xml
--- widgets/gtktable.xml	1 May 2004 22:05:31 -0000	1.19
+++ widgets/gtktable.xml	30 Sep 2004 18:23:57 -0000
@@ -7,7 +7,7 @@
 
     <Property Id="n-rows" Default="3">
 	 <Parameters>
-	   <Parameter Key="Min" Value="0"/>
+	   <Parameter Key="Min" Value="1"/>
 	   <Parameter Key="Max" Value="10000"/>
 	   <Parameter Key="StepIncrement" Value="1"/>
 	   <Parameter Key="PageIncrement" Value="10"/>
@@ -21,7 +21,7 @@
 
     <Property Id="n-columns" Default="3">
 	 <Parameters>
-	   <Parameter Key="Min" Value="0"/>
+	   <Parameter Key="Min" Value="1"/>
 	   <Parameter Key="Max" Value="10000"/>
 	   <Parameter Key="StepIncrement" Value="1"/>
 	   <Parameter Key="PageIncrement" Value="10"/>
