Switching between pages doesn't properly update the position in the index
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zim |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Everytime that I switch between wiki pages via links (or via the calendar plugin), the position in the index doesn't get correctly updated (although some unrelated trees do get expanded). I get an error like this:
INFO: Open page: <FileStorePage: Journal:2013:05:19> (<Path: Journal:
Traceback (most recent call last):
File "/usr/lib/
self.
File "/usr/lib/
rowreference = gtk.TreeRowRefe
RuntimeError: could not create GtkTreeRowReference object
When I click directly on the index, I also get the same message. I'm running Zim 0.60 in Debian Unstable.
Versions of packages zim depends on:
ii python 2.7.3-5
ii python-gobject 3.8.1-3
ii python-gtk2 2.24.0-3+b1
ii python-xdg 0.19-5
Changed in zim: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
tags: | added: index |
After a forced index update, it gets worse:
DEBUG: Action: reload_index python2. 7/dist- packages/ zim/gui/ pageindex. py", line 745, in <lambda> connect( 'end-index- update' , lambda o: self.reload_ model() ) python2. 7/dist- packages/ zim/gui/ pageindex. py", line 790, in reload_model treeview. set_model( model) python2. 7/dist- packages/ zim/gui/ pageindex. py", line 533, in set_model select_ page(self. ui.page, vivificate=True) python2. 7/dist- packages/ zim/gui/ pageindex. py", line 672, in select_page rence(model, treepath) child-toggled <IndexPath: Gestion de ma vie:INBOX> (8, 3) python2. 7/dist- packages/ zim/gui/ pageindex. py", line 167, in on_changed iter(treepath) child-toggled <IndexPath: Gestion de ma vie:INBOX> (8, 3) python2. 7/dist- packages/ zim/gui/ pageindex. py", line 167, in on_changed iter(treepath) python2. 7/dist- packages/ zim/plugins/ tags.py" , line 807, in <lambda> index-update' , lambda o: self.reload_ model() ), python2. 7/dist- packages/ zim/plugins/ tags.py" , line 876, in reload_model _reload_ model(type, filter) python2. 7/dist- packages/ zim/plugins/ tags.py" , line 894, in _reload_model treeview. set_model( model, filter) python2. 7/dist- packages/ zim/plugins/ tags.py" , line 598, in set_model w.set_model( self, filtermodel) python2. 7/dist- packages/ zim/gui/ pageindex. py", line 533, in set_model select_ page(self. ui.page, vivificate=True) python2. 7/dist- packages/ zim/gui/ pageindex. py", line 666, in select_page
INFO: Updating index
DEBUG: Opening ProgressBarDialog
INFO: Index update done
Traceback (most recent call last):
File "/usr/lib/
ui.
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
rowreference = gtk.TreeRowRefe
RuntimeError: could not create GtkTreeRowReference object
ERROR: BUG: Invalid treepath: row-has-
Traceback (most recent call last):
File "/usr/lib/
treeiter = self.get_
ValueError: invalid tree path
ERROR: BUG: Invalid treepath: row-has-
Traceback (most recent call last):
File "/usr/lib/
treeiter = self.get_
ValueError: invalid tree path
Traceback (most recent call last):
File "/usr/lib/
('end-
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
PageTreeVie
File "/usr/lib/
self.
File "/usr/lib/
assert treepath, 'BUG: failed to touch placeholder'
AssertionError: BUG: failed to touch placeholder
** (zim:5219): CRITICAL **: pygtk_generic_ tree_model_ ref_node: assertion `VALID_ITER(iter, tree_model)' failed
** (zim:5219): CRITICAL **: pygtk_generic_ tree_model_ iter_has_ child: assertion `VALID_ITER(iter, tree_model)' failed
** (zim:5219): CRITICAL **: pygtk_generic_ tree_model_ iter_next: assertion `VALID_ITER(iter, tree_model)' failed python2. 7/dist- packages/ zim/gui/ __init_ _.py:604: GtkWarning: /tmp/buildd/ gtk+2.0- 2.24.17/ gtk/gtktreeview .c:6057 (validate_ visible_ area): assertion `has_child' failed.
/usr/lib/
There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel. This generally means that the model has changed
without letting the view know. Any display from now on is likely to
be incorrect.
gtk.main()
(A supplementary difference is that this time I have run it with --standalone, in case it matters)