Weird behavior of Gtk::TreeSelection



Hey it's me again with another problem :D

I've got two Gtk::TreeViews with static rows, all on depth 0 (except one
that can be added / removed). I've packed those TreeViews into a box
with a DrawingArea between them to be able to stick the last row to the
bottom of the Windows they are in. I need to have only one row selected,
so I call treeview2->unselect_all() from the signal handler for
treeview1::signal_cursor_changed and vice versa.

Now I toggle the status of the one special row (present or non-present)
with a checkbutton. The checkbutton is visible when the last row, in
treeview2, is activated (I use the TreeViews as navigation) and the row
to be removed or added is in treeview1.

My problem is that, when I first go to the one special row and then to
the last one and remove that row, the selection changes from the last
row to the one that now has the index of the no-more-present special
row. This seems to happen as reaction to the removal of the currently
selected row, but as I unselected it before, this shouldn't happen!


Is this a bug in unselect_all() or is it the proposed behavior? Also,
has anyone got an idea on how to work around this?


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]