Hello to all,
Context:
=======
- I did set the gtk_tree_selection to SELECT_NONE for a treeview instance, but after that the
GtkCellRenderers dont work at all.
- I use Gtk+-2.0-2.20.1, but the incriminated code remains in gtk+-3.2
Question:
========
In function "static gboolean
gtk_tree_view_button_press(GtkWidget* widget, GdkEventButton *event)",
there is :
----------------------------------------------------------------------
...
if ((anchor && !gtk_tree_path_compare (anchor, path))
|| !_gtk_tree_view_column_has_editable_cell (column))
...
----------------------------------------------------------------------
What does the "!" before "_gtk_tree_view_column_has_editable_cell (column)" stand for ?
The signification of this code is somhing like :
if (
("there is a row selected" _AND_ "the user just clicked on that row" )
_OR_
( "the clicked column has no editable cell" )
)
{
...
cell_renderer->start_editing(...)
...
}
That seems contradictory ; it should be :
if (
("there is a row selected" _AND_ "the user just clicked on that row" )
_OR_
( "the clicked column HAS AT LEAST ONE editable cell" )
)
{
...
cell_renderer->start_editing(...)
...
}
( i.e. no "!" )
Test :
====
I have recompiled gtk+ without the "!", and now my GtkCellRendererCombo works, my editable
GtkCellRendereralText too, although the row do not become selected.
Regards.
|