Hi Jan-Marek, On Sat, Aug 13, 2016 at 02:10:15AM +0200, Jan-Marek Glogowski <glogow@fbihome.de> wrote:
2. Fix the layouting problem introduced by commit 60d34e1c840d2c317bb7d0a5b14f4602c22b3fcc This also just happens for large MM documents with page bound frames. Everything with 300+ pages is basically unbearable now. The commit is correct, but previously the - now enabled - "fixup" code was just run at the end of the SwPageFrm generation. One of the bugs uncovered by the fix is fixed by "Use InsertPage in AssertFlyPages", but for the second I just found the workaround done by "Switch back to InsertPageBreak in SwDoc::AppendDoc". I would like to get rid of this workaround, but before spending even more time on the problem, I would like to know, if anyone knows - as quoted from the patch: + // a magic call to sync with whatever, so AssertFlyPages + // sees the correct format AKA same as InsertPageBreak does ??? My workaround just works, because InsertPageBreak actually splits the current content node, which moves the cursor to a now page, which isn't generated. Now EndOfAction needs to fix the cursor and somehow something in the stack is able to flush the cached data. Some comments in the code of the backtrace mention an IdleCollector, but I guess that's code is already done. I've added most information to the commit message of "Switch back to InsertPageBreak in SwDoc::AppendDoc"
Do I understand correctly that the tip of your branch is a unit test for the problem, and the previous commit is the conditional revert? (As in: it re-introduces the previously existing behavior without introducing the mentioned Coverity problem again.) If so, I think that's fine to have, but please don't pick the revert as-is to master, i.e. instead of introducing that #if 0 code, just remove the code that would be disabled. I'm afraid I don't know more about the SwDoc::AppendDoc() code than you. :-) Regards, Miklos
Attachment:
signature.asc
Description: Digital signature