Alfredo Braunstein wrote: > Angus Leeming wrote: > >>> Just commit and we solve it later if there is any problem at all ;-) >> >> Hmmm. Your last commit means that now I don't even enter the loop. > > > >> Even changing to the explicit doesn't help: >> >> InsetBase & inset = owner->buffer()->inset(); >> InsetIterator it = inset_iterator_begin(inset); >> InsetIterator const end = inset_iterator_begin(inset); > ^^^^^ > is this just an error in your post or in the test you've made?
Just to clarify: InsetIterator it(inset) is now the end (void) iterator. So: InsetIterator it(inset); for (; it ; ++it) { ... } is wrong now (never enters the loop). The correct one should be InsetIterator it = inset_iterator_begin(inset); for (; it; ++it) *or* InsetIterator it = inset_iterator_begin(inset); InsetIterator const end = inset_iterator_end(inset); for (; it != end; ++it) *or even* InsetIterator it = inset_iterator_begin(inset); InsetIterator const end = InsetIterator(inset); for (; it != end; ++it) Maybe I have introduced some bug somewhere? Although I don't see where... Alfredo