Re: [gtkmm] ListStore sorting and Gtk::TreeIter validity problems
- From: Chris Vine <chris cvine freeserve co uk>
- To: gtkmm-list gnome org
- Cc:
- Subject: Re: [gtkmm] ListStore sorting and Gtk::TreeIter validity problems
- Date: Sat, 31 Jul 2004 23:49:08 +0100
On Saturday 31 July 2004 09:47, Samuel Abels wrote:
>
> (3) Most importantly: I am trying to somehow remove the currently
> selected row. But when using
>
> store->erase(get_selection()->get_selected());
>
> (the offending code is in GtkBookList::remove_selected())
>
> There is an error message
>
> (test:22738): Gtk-CRITICAL **: file gtkliststore.c: line 1013
> (gtk_list_store_remove): assertion `VALID_ITER (iter, list_store)'
> failed
>
> (This can be tested by clicking "delete" in the appended test.)
There should be no problem in principle with
store->erase(get_selection()->get_selected())
There appears to be another problems with your code, which may or may not be
connected with this. You should not store Gtk::TreeIter objects in a
container for later use, as they can be invalidated by other operations on
the tree model. You should use a Gtk::TreeRowReference object or (if you are
using gtkmm-2.0 rather than gtkmm-2.2 or gtkmm-2.4) wrap GtkTreeRowReference
yourself. They maintain their validity for as long as the row which is
referenced is a valid row.
Your GtkBookList::remove_book() method is therefore likely to fail. Have you
mis-diagnosed the method in which the problem shows up?
Chris.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]