Red Hat Bugzilla – Bug 201949
sort-indicator hides pixmaps in gtktreeview
Last modified: 2007-11-30 17:11:40 EST
$ rpm -q sylpheed gtk2
Starting with some version of Gtk+ 2.10.x in Rawhide, the gtktreeview
in Sylpheed started to look damaged.
See attached screenshot and notice the three small column titles left
of the "Subject" column. First of all, it looks as if there is a
sort-indicator in *every* column title, and second, for the three
left-most columns next to the "Subject" column, the arrow is even
printed over the pixmap images. And apparently it is impossible to
disable it via gtk_tree_view_column_set_sort_indicator(column,FALSE).
In Sylpheed's code, it is a call to gtk_tree_view_column_set_sort_column_id(..)
which makes the sort-indicators appear and overwrite the pixmaps.
It might be bad API usage. Though, the Gtk+ documentation doesn't warn
about improper usage and doesn't mention when it is impossible to
switch off the arrows.
Compared with FC5, gtk2-2.8.20-1 does not suffer from this problem.
An arrow is displayed only in the column title which is selected for
sorting. But still, with FC5, the sort-indicator appears also above
the pixmap when the column title is clicked, which doesn't seem to be
What is going on here?
Created attachment 133891 [details]
Sylpheed gtktreeview screenshot
What version of gtk2-engines are you using ? And what theme ?
gtk2-engines-2.7.6-1.fc6 and Clearlooks (it's the same with all themes).
Do you need more input?
I don't know what sylpheed is doing here, but it must be something wrong.
It is true that the way sort indicators are handled has changed in gtk 2.10,
and for a while, some theme engines were broken and drew sort arrows in every
column header. But this is all fixed now, and I only see one sort arrow in
sylpheed now. Still, sylpheed does something to make the first few columns
(the ones which have an image in their header) as small as possible, and
the image does not show up at all. I'm inclined to say this is a sylpheed
problemm since other applications with similar treeview (e.g. evolution)
don't have this problem.
Maybe. Two points left, though:
* Same code on FC5 (older gtk2) is not affected.
* It seems impossible to disable the sort-indicator with
gtk_tree_view_column_set_sort_indicator(column,FALSE). In Sylpheed's code, a
call to gtk_tree_view_column_set_sort_column_id(..) makes the sort-indicator
appear again and overwrite the pixmaps.
If the call is taken out, the pixmaps look good as in FC5.
Another test, but I quit here as I cannot spend any more time on this.
When I add
and resize the column at run-time, the pixmap scrolls in from the left
and becomes visible more and more. Alignment is 0.5 (centre), but at
the right side of the column space, there is a blank area (room reserved
for the sort-indicator I assume) which occupies space, disturbs the
alignment, and kills the pixmap if the column is too small.
Created attachment 136149 [details]
Sylpheed gtktreeview screenshot
Upstream also thinks it is a bug in gtk2 and hence will work around
it in next release of Sylpheed.
> Fixed in svn trunk. I've stopped using
> gtk_tree_view_column_set_sort_column_id() and handled sort indicators
> all manually, because it never worked as expected in GTK+ 2.10.
> I think it's really a bug in GTK+ 2.10.
If they think it is an upstream bug, they need to file an upstream bug, ideally
with a simple testcase demonstrating what sylpheed is doing.
Instead, it is worked around in Sylpheed release >= 2.2.8.