Le 30/12/2016 à 17:44, Guillaume Munch a écrit :
In general this is when we add a cursor.fixIfBroken() somewhere.
Ok, I saw that DocIterator::sanitize and DocIterator::updateInsets both
fix the pointers, but I missed that fixIfBroken does that too, and
indeed there's a lot of calls to that. Why do we need three different
functions?
These 3 things should be analyzed, documented and maybe merged.
The attached patch fixes this crash, but I find very unsatisfactory to
have to update the cursors by hand like this.
What's with all the indirections? Updating directly one cursor seems
more straightforward.
The buffer has no direct access to these cursors, it has to communicate
with the view...
Indeed.
JMarc