Index: gtktreeview.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtktreeview.c,v
retrieving revision 1.571
diff -u -p -r1.571 gtktreeview.c
--- gtktreeview.c	25 Sep 2006 14:34:52 -0000	1.571
+++ gtktreeview.c	26 Sep 2006 22:49:40 -0000
@@ -2737,7 +2737,7 @@ gtk_tree_view_button_press (GtkWidget   
 
 	  gtk_grab_add (widget);
 	  GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE);
-	  column->resized_width = column->width;
+	  column->resized_width = column->button->allocation.width;
 
 	  /* block attached dnd signal handler */
 	  drag_data = g_object_get_data (G_OBJECT (widget), "gtk-site-data");
@@ -3448,8 +3448,24 @@ gtk_tree_view_motion_resize_column (GtkW
   if (x != tree_view->priv->x_drag &&
       (new_width != column->fixed_width))
     {
+      GList *list;
+
       column->use_resized_width = TRUE;
       column->resized_width = new_width;
+
+      for (list = tree_view->priv->columns; list; list = list->next)
+        {
+	  GtkTreeViewColumn *tmpcolumn = list->data;
+
+	  if (tmpcolumn != column && tmpcolumn->expand)
+	    {
+	      tmpcolumn->use_resized_width = TRUE;
+	      tmpcolumn->resized_width = tmpcolumn->button->allocation.width;
+	    }
+
+	  tmpcolumn->expand = FALSE;
+	}
+
       gtk_widget_queue_resize (widget);
     }
 
