• Miklos Vajna's avatar
    tdf#113153 sw: fix layout loop with split in-table sections · a69f48d9
    Miklos Vajna yazdı
    The problem was in SwFrame::GetNextSctLeaf(): it called WrongPageDesc()
    to find out if pLayLeaf is a container that is on an acceptable page,
    but it was too aggressive, and discarded a split table cell that was in
    a follow table (so later it'll be moved to a next page), but on the same
    page.
    
    The result was that a new page was created, but later in
    ::doInsertPage() we noticed this unnecessary page and removed it. The
    effect of that was that the in-progress layout action's m_bIsAgain flag
    was set to true, restart the layout again and again.
    
    Given that in-table split sections never need to create a new page frame
    for the follow section (the cell does this for us already), just don't
    discard pLayLeaf when WrongPageDesc() finds it and we're in the split
    section-in-table case.
    
    Change-Id: Iea98a26c14fc1fb3154378eab24daa2fd6e84459
    Reviewed-on: https://gerrit.libreoffice.org/43429Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
    Tested-by: 's avatarJenkins <ci@libreoffice.org>
    a69f48d9