On Fri, Dec 22, 2006 at 01:46:43PM -0500, Gavin Romig-Koch wrote: > > _gtk_tree_view_column_cell_set_dirty is often called repeatedly on the same > column, for instance by gtk_tree_view_column_set_attributesv which calls it > through gtk_tree_view_column_clear_attributes, and then again through > gtk_tree_view_column_add_attribute. Because _set_dirty sets resized_width > to the max of requested_width and button_request, and also sets > requested_width to -1: > > tree_column->resized_width = MAX (tree_column->requested_width, > tree_column->button_request); > tree_column->requested_width = -1; > > repeatedly calling _set_dirty will force resized_width to > button_request. This > can be seen in Nautilus by resizing the File Name column and then > changing the > zoom level. > > It does not make sense for _gtk_tree_view_column_cell_set_dirty to be > changing > resized_width. _set_dirty is used to tell the column cell that one or more > display related attributes of the cell have changed, and that the cell needs > to be re-rendered and re-displayed. resized_width keeps track of the fact > that the user has resized a column directly with the mouse, and what > size they > resized it to. This makes sense and AFAIK no one requests making _gtk_tree_view_column_cell_set_dirty() recalculate the requested width again. But that's quite different from recalculating the width when the user double-clicks on the column separator. If this was a feature, the recalculation should be restored somewhere else in the code handling this event (I haven't looked at the code paths, so I can't tell where). Yeti -- Whatever. _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list