Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


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


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.