Bug 164046 - regression: style searching improvement breaks Impress layout (SvXMLStylesContext)
Summary: regression: style searching improvement breaks Impress layout (SvXMLStylesCon...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
25.2.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:25.2.0
Keywords: bibisected, regression
Depends on:
Blocks:
 
Reported: 2024-11-25 17:28 UTC by Moritz Duge (allotropia) (a.k.a. kolAflash)
Modified: 2024-11-29 16:28 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
before commit 6c2f82769 (rendering OK) (371.88 KB, image/png)
2024-11-25 17:30 UTC, Moritz Duge (allotropia) (a.k.a. kolAflash)
Details
with commit 6c2f82769 applied (rendering broken) (399.26 KB, image/png)
2024-11-25 17:30 UTC, Moritz Duge (allotropia) (a.k.a. kolAflash)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Moritz Duge (allotropia) (a.k.a. kolAflash) 2024-11-25 17:28:39 UTC
Description:
Since this commit I'm getting a broken layout for these ODP slides on pretty much all pages.

Commit:
improve style searching in SvXMLStylesContext 6c2f827697b898c9d351b79c2dbb5aefc8b70dcc
https://git.libreoffice.org/core/+/6c2f827697b898c9d351b79c2dbb5aefc8b70dcc%5E%21
https://gerrit.libreoffice.org/c/core/+/175281

Slides:
https://bugs.documentfoundation.org/attachment.cgi?id=197047&action=edit
A bibisect in linux-64-25.2 on Debian-12 pointed to the binary commit 6c2f82769, which maps to this source commit.
https://bibisect.libreoffice.org/linux-64-25.2

Steps to Reproduce:
Open linked document and compare rendering with LibreOffice 24.8.

Actual Results:
Many layout elements are moved to other positions, wrong font size, unwanted white boxes on first slide.

Expected Results:
Rendering like in LibreOffice-24.8 and previous versions


Reproducible: Always


User Profile Reset: Yes

Additional Info:
I'll attach screenshots before and after that commit. They make the problem pretty obvious.
I tested it on a Debian-12 Linux (KDE).
Comment 1 Moritz Duge (allotropia) (a.k.a. kolAflash) 2024-11-25 17:30:00 UTC
Created attachment 197789 [details]
before commit 6c2f82769 (rendering OK)
Comment 2 Moritz Duge (allotropia) (a.k.a. kolAflash) 2024-11-25 17:30:28 UTC
Created attachment 197790 [details]
with commit 6c2f82769 applied (rendering broken)
Comment 3 BogdanB 2024-11-26 14:42:09 UTC
author	Noel Grandin <noel.grandin@collabora.co.uk>	2024-10-20 15:07:41 +0200
committer	Caolán McNamara <caolan.mcnamara@collabora.com>	2024-10-21 17:23:58 +0200
commit 6c2f827697b898c9d351b79c2dbb5aefc8b70dcc (patch)
tree 20d29b45fd2a937247a29c44edbf3d37633b1433
parent 141b79e7c4cb5f0f684ec77e943289c9771ad266 (diff)
improve style searching in SvXMLStylesContext
We can searching without needing a std::map by sorting
the style list. Which also allows to do prefix
searching. Which we can use to dramatically reduce
the number of styles we need to loop through in
SdXMLStylesContext::ImpSetGraphicStyles.

a similar mega-master-page scenario as reported in tdf#158773

13.5 - 9.1s

Needed to adjust some unit tests because
the order of iteration through styles is
now different, which affects some file output.
Comment 4 Commit Notification 2024-11-29 10:05:46 UTC
Noel Grandin committed a patch related to this issue.
It has been pushed to "master":

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

tdf#164046 style searching improvement breaks Impress layout

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 5 Moritz Duge (allotropia) (a.k.a. kolAflash) 2024-11-29 16:28:22 UTC
(In reply to Commit Notification from comment #4)
> [...]
> Affected users are encouraged to test the fix and report feedback.

Conforming.

It's fixed! :-)