Bug 161199 - The shape is displayed on the wrong side and is invisible
Summary: The shape is displayed on the wrong side and is invisible
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
5.4.0.3 release
Hardware: All All
: medium normal
Assignee: Miklos Vajna
URL:
Whiteboard: target:25.2.0 target:24.8.0.0.beta2
Keywords: bibisected, bisected, filter:docx, regression
Depends on:
Blocks: DOCX-Objects
  Show dependency treegraph
 
Reported: 2024-05-21 12:53 UTC by Martin
Modified: 2024-06-14 02:46 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
Example (20.50 KB, application/vnd.openxmlformats-officedocument.wordprocessingml.document)
2024-05-21 12:53 UTC, Martin
Details
Screenshot of LO 24.8alpha1+ and MS 365 side by side (159.84 KB, image/png)
2024-06-06 06:28 UTC, Stéphane Guillou (stragu)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin 2024-05-21 12:53:28 UTC
Created attachment 194245 [details]
Example

The reproduction scenario is as follows. I create a shape in Microsoft Word and place it at the beginning of the second page and set the anchor to the first paragraph of the second page. When I then open the document with LibreOffice, the shape is invisible somewhere on the first page at the bottom area. 

Version: 7.6.7.2 (X86_64) / LibreOffice Community
Build ID: dd47e4b30cb7dab30588d6c79c651f218165e3c5
CPU threads: 4; OS: Windows 10.0 Build 22631; UI render: Skia/Raster; VCL: win
Locale: en-US (en_AT); UI: en-US
Calc: threaded
Comment 1 Martin 2024-05-21 13:33:00 UTC
To better describe the reproduction scenario, here are more detailed instructions:

create 4 paragraphs with texts in Microsoft Word (use =rand(4) )
Insert a rectangular shape between paragraphs 2 and 3
Set Wrap Text to "Top and Bottom"
Move Text Paragraph 3 and 4 to the second page with 10 empty paragraphs at the top using "enter"
Move the Shape to the place of the first empty paragraph on the second page
Set the anchor of the shape to the moved text paragraph 3 and 4 on the second page. 
Click to an empty paragraph on Page 1 and remove the paragraphs (del) until the text on the second page is directly behind the shape. 

Now when opening the document with libreoffice writer, the shape is hidden and can be found on the first page.
Comment 2 Stéphane Guillou (stragu) 2024-06-06 06:27:40 UTC
Confirmed in:

Version: 24.8.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 1f15d097cace14ca6e44e7652f460aa3fa7bd150
CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: CL threaded

- In 5.2.0.4, even though the position wasn't correct (in top margin of second page, away from its anchor), at least the handles and visual were in sync, and the blue fille was visible.
- In 5.3.0.3, the "<Text>" content is in page 2, and the blue visual + handles are on page 1.
- In 5.4.0.2, the "<Text>" content is still visible at the same spot and out of sync with the object handles (on page 1), but no blue colour anymore.
- Since 7.1.0.3, the "<Text>" content is not even shown anymore

So it has completely degraded over several releases and we'd need to bibisect the following:
- 5.3: out of sync, split across pages
- 5.4: loss of blue fill
- 7.1: loss of "<Text>" content
Comment 3 Stéphane Guillou (stragu) 2024-06-06 06:28:47 UTC
Created attachment 194562 [details]
Screenshot of LO 24.8alpha1+ and MS 365 side by side
Comment 4 raal 2024-06-06 14:47:00 UTC
(In reply to Stéphane Guillou (stragu) from comment #2)
> - 7.1: loss of "<Text>" content

This seems to have begun at the below commit in bibisect repository/OS linux-64-7.1.
Adding Cc: to Attila Bakos ; Could you possibly take a look at this one?
Thanks
 bbe472ce1a0a89ba9f6cd4401ebfa842e45a3050 is the first bad commit
commit bbe472ce1a0a89ba9f6cd4401ebfa842e45a3050
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Sat Aug 22 00:56:48 2020 +0200

    source b6850bbe95418ecfde404be1696548f18d200c9b

100239: tdf#106153 sw compatibility: fix textboxes exceeding the page | https://gerrit.libreoffice.org/c/core/+/100239
Comment 5 raal 2024-06-06 15:01:15 UTC
(In reply to Stéphane Guillou (stragu) from comment #2)

> - 5.4: loss of blue fill

This seems to have begun at the below commit in bibisect repository/OS bibisect-linux-64-5.4.
Adding Cc: to Miklos Vajna ; Could you possibly take a look at this one?
Thanks
 88aaf2d74905f9edd1a7313835d43715b842d73b is the first bad commit
commit 88aaf2d74905f9edd1a7313835d43715b842d73b
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Fri Feb 10 09:21:52 2017 +0100

    source af313fc149f80adb0f1680ca20e19745ccb7fede

32782: tdf#105143 DOCX import: enable DoNotCaptureDrawObjsOnPage layout compat option | https://gerrit.libreoffice.org/c/core/+/32782
Comment 6 raal 2024-06-06 15:14:58 UTC
(In reply to Stéphane Guillou (stragu) from comment #2)

> So it has completely degraded over several releases and we'd need to
> bibisect the following:
> - 5.3: out of sync, split across pages

Stephane, can you provide some screenshots? I don't know what you mean. Thanks
Comment 7 Stéphane Guillou (stragu) 2024-06-07 14:27:33 UTC
(In reply to raal from comment #6)
> (In reply to Stéphane Guillou (stragu) from comment #2)
> 
> > So it has completely degraded over several releases and we'd need to
> > bibisect the following:
> > - 5.3: out of sync, split across pages
> 
> Stephane, can you provide some screenshots? I don't know what you mean.
> Thanks

Thanks for the bibisects, Raal!

I also checked in linux-64-5.4 and got to the same commit as you in your comment 5. That commit makes it go from blue rectangle with text on page 2, to text on page 2 but invisible object on page 1.

The state I saw in linux-64-releases' 5.3.0.3 was the blue frame visible on the first page, but that could have bee some transient thing.

Let's stick to a 5.4 regression here. (You can mark as bibisected, Raal.)
Comment 8 Commit Notification 2024-06-13 07:45:12 UTC
Miklos Vajna committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/a0b6587c4acb1d74e1b00904147821640c98b323

tdf#161199 sw DoNotCaptureDrawObjsOnPage: capture wrap=none draw objects

It will be available in 25.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Miklos Vajna 2024-06-13 07:53:56 UTC
Note that this restored the rendering to again capture the draw obj inside the page, but Word goes a bit further there: it even makes sure that the shape is inside the body text, not on the margin. I don't think that ever worked, so a separate non-regression bug would be worth to track that separately, probably.
Comment 10 Commit Notification 2024-06-13 11:27:56 UTC
Miklos Vajna committed a patch related to this issue.
It has been pushed to "libreoffice-24-8":

https://git.libreoffice.org/core/commit/838eb1a370b3bc533e81e819ae697222d3da5022

tdf#161199 sw DoNotCaptureDrawObjsOnPage: capture wrap=none draw objects

It will be available in 24.8.0.0.beta2.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 11 Stéphane Guillou (stragu) 2024-06-14 02:46:00 UTC
Thank you Miklos, verified in own build:

Version: 25.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 0e2409e5e3c73ec25c61aa4ea140d114869ea512
CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: CL threaded

(In reply to Miklos Vajna from comment #9)
> [...] Word goes a bit further there: it even makes sure that the
> shape is inside the body text, not on the margin. I don't think that ever
> worked, so a separate non-regression bug would be worth to track that
> separately, probably.

Follow-up in bug 161559.