Richard Heck <rgh...@comcast.net> wrote: > My main comment would be that I suspect, but of course > couldn't verify, due to the crashes, that the same > problem exists in the TexRow() output routine,
i checked that previewing the document and having the source view pane open worked my guess was that things are ok as long as there is no metrics call behind texrow()'s back but i agree that it is better to fix it in every instance > Is that sufficient? i thought that insetList() provided a list of all nested insets... > What about a Note nested within the Footnote? ...but you're right, it doesn't which means that we will need to traverse all insets :/ > I wonder if we could try: > ParagraphList::const_iterator pit = > tail.getText(0)->paragraphs().begin(); > buffer().updateBuffer(pit, OutputUpdate); i am not sure i completely follow you, but when i use buffer().updateBuffer(par_iterator_begin(tail), OutputUpdate); instead of the code above, the crashes are gone (also with nested insets) but now i get the asserts below ed. 17:40:02.216: (file-open C:/Users/Edwin Leuven/Dropbox/newfile1.lyx)..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 17:43:38.886: (dialog-toggle view-source)..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 17:43:46.049: (dialog-toggle progress)..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188 ..\..\lyx-devel\src\CursorSlice.cpp(187): can't compare cursor and anchor in different insets p: ..\..\..\lyx-devel\src\support\lassert.cpp(21): ASSERTION false VIOLATED IN ..\..\lyx-devel\src\CursorSlice.cpp:188