Bug 113373 - Enabling 'follow text flow' causes shape to not render (below body-frame, so it moved to the next page)
Summary: Enabling 'follow text flow' causes shape to not render (below body-frame, so ...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
5.4.0.0.alpha0+
Hardware: All All
: low minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Shapes Regressions-no-off-page-print-drawobj layoutInCell
  Show dependency treegraph
 
Reported: 2017-10-23 08:19 UTC by Yousuf Philips (jay) (retired)
Modified: 2024-09-07 20:02 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
sample (25.24 KB, application/vnd.oasis.opendocument.text)
2017-10-23 08:19 UTC, Yousuf Philips (jay) (retired)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yousuf Philips (jay) (retired) 2017-10-23 08:19:50 UTC
Created attachment 137228 [details]
sample

steps:
1. open attachment
2. select the diamond shape at bottom of page 1
3. right-click > position and size
4. check 'follow text flow' checkbox
5. shape will jump to page 2 but will be invisible

regression as this doesnt happen in 5.3.7.1

Version: 6.0.0.0.alpha1+
Build ID: d76c4e5c9aaf8bd27ec97679bcaeba5b18aca493
CPU threads: 2; OS: Linux 4.4; UI render: default; VCL: gtk2; 
Locale: en-US (en_US.UTF-8); Calc: group
Comment 1 Xisco Faulí 2017-10-23 09:01:10 UTC
Regression introduced by:

author	Michael Stahl <mstahl@redhat.com>	2016-12-06 21:59:40 (GMT)
committer	Michael Stahl <mstahl@redhat.com>	2016-12-07 13:46:07 (GMT)
commit 689cead9e0837dc932e3a4cd765f7d319b529018 (patch)
tree cd6cdcd77f017ef1e60ec11556617da5b1c39721
parent b346439637b7d03a3eb1d6e67dfb585b357567f4 (diff)
tdf#91260 svx, sw: don't paint off-page part of drawing object
Since commit a4dee94afed9ade6ac50237c8d99a6e49d3bebc1 Writer no
longer forces drawing objects to be entirely on one page.  However since
there is only one SdrPage for the entire document, a drawing object
dangleing off the bottom of one page will be painted again on the next
page, which is clearly undesirable since Word doesn't do that
(and it also destroys the nice invariant that a fly on page N never
overlaps a fly on page N+1).

Bisected with: bibisect-linux-64-5.4

Adding Cc: to Michael Stahl
Comment 2 QA Administrators 2019-06-12 02:58:20 UTC Comment hidden (obsolete)
Comment 3 Regina Henschel 2019-06-12 07:37:43 UTC
The problem still exists in Version: 6.4.0.0.alpha0+ (x64)
Build ID: 87238627b025ee6aa61378667e56b1769d4460c2
CPU threads: 8; OS: Windows 10.0; UI render: default; VCL: win; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2019-06-09_03:04:32
Locale: de-DE (en_US); UI-Language: en-US
Calc: threaded
Comment 4 Telesto 2020-05-07 13:05:24 UTC
Not sure how often this setting is set, but quite frustrating issue. And being around long enough.
Comment 5 QA Administrators 2024-02-09 03:13:24 UTC Comment hidden (obsolete, spam)
Comment 6 Justin L 2024-09-07 16:56:17 UTC
repro 25.2+
Comment 7 Justin L 2024-09-07 17:30:01 UTC
marking as low/minor. This is an ODF-only feature. If FollowTextFlow doesn't produce the effect you want, then don't turn it on. In fact, nobody should be using FollowTextFlow anyway IMHO. Its purpose is to support DOC/X formats (where it only applies to table cells).

Based on mstahl's comment, FTF should force the shape up instead of down.
Comment 8 Justin L 2024-09-07 20:02:35 UTC
The code for this is in SwToContentAnchoredObjectPosition::CalcPosition() where GetLeaf() tries to position onto the following page.

But simply eliminating that block of code would not be enough, because nothing is forcing the bottom to fit the boundaries. So instead of allowing the object to flow to the next page, we would need to shift it up to fit onto the same page as the start of the anchor paragraph. (I could imagine a layout loop where raising the shape to be above the body text bottom could force the anchor paragraph to start on the next page...)

But IMHO, FollowTextFlow should primarily be considered to be a UI helper, and less so to be a mechanism that ignores the provided settings and does whatever it wants with the object positioning.