I created the attached debug code to see when things go wrong:
- After loading, the doc looks sane
- After inserting a char the doc looks sane
- After saving, the doc looks sane
- At the start of SwView::~SwView() the doc looks sane
So the issue is likely that the destruction of the layout does something in the wrong order while destructing itself.
To use the patch (which is never intended to be commited obviously), apply it, compile sw with "make DBGLEVEL=2" and type:
p debug_checkCntntNodeFollow(debug_GetLastLoadedDoc())
in gdb. The debugcode needs some more tuning to work well during destruction, because it gets the RootFrm from the SwDoc, which is disconnected rather early.
Created attachment 49761
patch for debugging the issue
I debugged a bit around this. opengrok. libreoffice. org/xref/ writer/ sw/source/ core/layout/ flowfrm. cxx#698
The issue after all is that the assertion at:
http://
fires: "Follow ist lost in Space."
I created the attached debug code to see when things go wrong:
- After loading, the doc looks sane
- After inserting a char the doc looks sane
- After saving, the doc looks sane
- At the start of SwView::~SwView() the doc looks sane
So the issue is likely that the destruction of the layout does something in the wrong order while destructing itself.
To use the patch (which is never intended to be commited obviously), apply it, compile sw with "make DBGLEVEL=2" and type: tNodeFollow( debug_GetLastLo adedDoc( ))
p debug_checkCntn
in gdb. The debugcode needs some more tuning to work well during destruction, because it gets the RootFrm from the SwDoc, which is disconnected rather early.
HTH a bit.