Review Request 120250: Don't infinitely loop when backtracking keepWithNext with a page break
Pierre Ducroquet
pinaraf at gmail.com
Thu Sep 18 18:59:54 BST 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120250/
-----------------------------------------------------------
(Updated Sept. 18, 2014, 5:59 p.m.)
Review request for Calligra.
Changes
-------
Simpler patch : don't backtrack the whole area.
This does not match LibreOffice behaviour, but since that behaviour is unspecified and followed by at least another implementation...
Summary (updated)
-----------------
Don't infinitely loop when backtracking keepWithNext with a page break
Bugs: 306000
http://bugs.kde.org/show_bug.cgi?id=306000
Repository: calligra
Description
-------
Returns an enum instead of a boolean and relying on an integer value aside.
This allows the backtrack code to know that a layout ended because of a page break,
and thus not follow the keep with next instead of ending up in an infinite loop.
With that patch, we still have a difference between us and LibreOffice 4.3, a check of the OpenDocument specification will perhaps help : they decide to just skip the page break when it is in a keep with next block.
Diffs (updated)
-----
libs/textlayout/KoTextLayoutArea.cpp c74dbd4
Diff: https://git.reviewboard.kde.org/r/120250/diff/
Testing
-------
Checked with the document from bug report 306000 : layouting the document now works and does not end up in an infinite loop.
Thanks,
Pierre Ducroquet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20140918/540d7363/attachment.htm>
More information about the calligra-devel
mailing list