summaryrefslogtreecommitdiff
path: root/hardened_runtime.xcent.in
diff options
context:
space:
mode:
authorMichael Stahl <michael.stahl@allotropia.de>2023-05-11 19:01:53 +0200
committerMichael Stahl <michael.stahl@allotropia.de>2023-05-11 20:17:48 +0200
commitc8cb7a658b33e296024044f3377378644a9a97ef (patch)
tree952c3c9ca2c70e06d9cdc1f27e97244cccc3b4fa /hardened_runtime.xcent.in
parent85d961200b674b8c8179f85aed752fb179350dbb (diff)
tdf#144494 sw: fix layout loop
There is a pre-existing loop here, where page 1 is layouted, the text frame splits due to the fly taking up space, page 2 is layouted, the fly moves to page 2 (invalidating page 1) and thus the text frame splits again, page 1 is layouted, happy to see all the free space, and joins all its follows. Previously this was eventually terminated by layact.cxx:639 calling SwLayouter::LoopControl() and this force-validates page 1, resulting in page 1 having the fly (which is actually anchored at the end of the text frame, on page 2). Now the CheckPageDescs() discovers that page 3 doesn't have any content, and deletes it; this causes it to be re-created on every iteration of the loop and somehow the SwLayouter now doesn't detect the loop. But the call that deletes the page 3 is actually unnecessary: the text frame does have a SwPageDescItem - but it is itself a follow, where break items doesn't matter anyway - so just check for this to get back to the previous layout result. (regression from commit b9ef71476fd70bc13f50ebe80390e0730d1b7afb) Change-Id: If15c31278bd36e51c64090a288e8bd1ab6753dd7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151680 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'hardened_runtime.xcent.in')
0 files changed, 0 insertions, 0 deletions