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