• Miklos Vajna's avatar
    tdf#88453 sw layout: fix split of nested tables with large amount of rows · b4b5dbee
    Miklos Vajna yazdı
    This does not fix the original bugdoc, just the case described in
    comment 2. The bugdoc has an outer table of a single cell, and that cell
    has a nested table with a single column and many rows.
    
    When we split the table, we set the height of the last row frame to
    zero, then the height of the last but one, and so on, till the reduced
    table fits the page, then move the 0-height frames to the next page, and
    so on. All this recursively, to support nested tables.
    
    The problem is that 0-height is set only for the contents of the cell
    frames, but not for the cell or row frames themselves, so in case e.g.
    the default ~0.10cm inner margin of the cell frames, even a 0-height
    text frame results in a cell frame height of 111 twips. And this error
    can accumlate if there are enough rows, e.g. with the default fonts 123
    rows are enough to trigger the situation when even a completely reduced
    table doesn't fit the first page frame, and the layout throws up its
    hands.
    
    Fix the problem by setting the height of the cell and row frames to 0 as
    well in case their content is 0-sized anyway (so a re-format will later
    restore their correct height).
    
    Change-Id: Iefbbb7bd6ef97a9a81929eb2599adb961e52fd38
    Reviewed-on: https://gerrit.libreoffice.org/23476Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
    Tested-by: 's avatarJenkins <ci@libreoffice.org>
    b4b5dbee