summaryrefslogtreecommitdiff
path: root/ucb/source/ucp
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2023-02-24 08:21:22 +0100
committerMiklos Vajna <vmiklos@collabora.com>2023-02-24 09:24:56 +0000
commit6068ae5df9da179e1d187e27117a9d761116f968 (patch)
tree5fa9e7314e5b71dc5326dc3a87fc635627147316 /ucb/source/ucp
parent818e98eed2ecf76b5ddcd17667d80fa935b7a91a (diff)
sw floattable: don't promise infinite growth in SwFlyFrame::Grow_()
In case the document has a single cell in the floating table with multiple lines, we may need to split the cell, but currently we don't. One problem is that SwTabFrame::MakeAll() for the master table gets an error from Split(). Digging deeper, SwTextFrame::SplitFrame() is not called at all, because SwTextFrame::FormatAdjust() thinks that the content will fit, because SwTextFrameBreak::IsInside() says so. This happens because it tries to do a test grow on the fly frame, and that promises to grow as much as wanted. Infinite grow for fly frames is reasonable by default, but we want to limit the size for split flys, so a follow fly will be created. Fix the problem by improving SwFlyFrame::Grow_() to handle the IsFlySplitAllowed() case explicitly. Now we split the text frame, which is needed but not enough to split the entire fly -> table -> row -> cell -> text frame hierarchy. SwSectionFrame::Grow_() has a similar limit in place already. Change-Id: Ie07362a8dc3aa8c4fbb69eaf7e35717ba79b99a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147593 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
Diffstat (limited to 'ucb/source/ucp')
0 files changed, 0 insertions, 0 deletions