Am 11.06.2007 um 15:06 schrieb Richard Heck:
Stefan Schimanski wrote:It has been proposed in a different thread that all automatic updating of the TOC be disabled by removing this call so that the update would be done only on use or request. I don't remember if there was a resolution, and Abdel should obviously speak to this. But Bo and I found, as we tried to sort out some of these bugs, that it was proving very hard to get the update done at all the right times.FYI: http://bugzilla.lyx.org/show_bug.cgi?id=3851First guess: looking at Undo::undoText... updateLabels(*buf) will trigger a TOC update. The cursor of the bufferview is still broken then. It is only fixed after that call. But ControlToc::getCurrentTocItem(size_t type) finally (seebacktrace) uses the bufferview cursor for something.
What about updating the TOC asynchronously? Don't know how to do this with the current architecture. Are there asynchronous lfuns? I.e. they are only executed from the frontend's message loop after everything (like the cursor) is valid again.
Stefan
PGP.sig
Description: Signierter Teil der Nachricht