Bug 147978 - FILESAVE PPTX Cloud shape loses fill after RT
Summary: FILESAVE PPTX Cloud shape loses fill after RT
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.3.1.3 release
Hardware: All All
: medium normal
Assignee: Regina Henschel
URL:
Whiteboard: target:7.4.0 target:7.3.3
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Shape-ODF-OOXML-export
  Show dependency treegraph
 
Reported: 2022-03-14 08:09 UTC by Gabor Kelemen (allotropia)
Modified: 2023-10-01 21:37 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
The example file and its pptx version in 7.3 (131.00 KB, image/png)
2022-03-14 08:09 UTC, Gabor Kelemen (allotropia)
Details
Example file with simple commands (14.17 KB, application/vnd.oasis.opendocument.presentation)
2022-03-14 23:44 UTC, Regina Henschel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gabor Kelemen (allotropia) 2022-03-14 08:09:15 UTC
Created attachment 178872 [details]
The example file and its pptx version in 7.3

When a document containing a default cloud shape is saved as PPTX and reopened, it loses its area fill.

1, Open attachment 125662 [details] from bug 100390
2, Save as PPTX, reopen

The blue are fill of the cloud is lost.
 
Started in 7.3 with:

https://git.libreoffice.org/core/+/59b16fdf4e25db134ed52457c857eae5241a75e5%5E%21

author	Tibor Nagy <nagy.tibor2@nisz.hu>	Tue Jan 04 14:38:47 2022 +0100
committer	Xisco Fauli <xiscofauli@libreoffice.org>	Thu Feb 03 10:04:46 2022 +0100

tdf#137675 PPTX export: adding missing fill="none" to a:path

Adding CC to: Tibor Nagy
Comment 1 Regina Henschel 2022-03-14 23:34:25 UTC
The problem is deeper than "fill or not fill". The command drawing::EnhancedCustomShapeSegmentCommand::ENDSUBPATH is not evaluated at all. Thus only one <a:path> element exists in <a:pathLst>. But there should be several elements. For each part which ends with "N" in ODF, the export to OOXML has to generate an own <a:path> element.
Comment 2 Regina Henschel 2022-03-14 23:44:06 UTC
Created attachment 178888 [details]
Example file with simple commands

The attached file has the path
M 4000 0 L 0 2000 4000 4000 2000 2000 Z S N M 4000 0 L 0 2000 4000 4000 F N

Let PowerPoint read the odp file and convert it to pptx. Because the path is really simple, PowerPoint is able to do that. Such way you see in the pptx file what LO needs to export.

The F and S commands are applied to the entire subpath. So the first subpath
M 4000 0 L 0 2000 4000 4000 2000 2000 Z S N
gets a fill but no stroke, and the second subpath
M 4000 0 L 0 2000 4000 4000 F N
gets a stroke but no fill.

It is no regression by the mentioned commit, but handling of ENDSUBPATH was missing before.
Comment 3 Regina Henschel 2022-03-15 13:45:45 UTC
I'll try to fix it.
Comment 4 Commit Notification 2022-03-25 13:01:11 UTC
Regina Henschel committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/2029b2f6dd0109c5892e5ac5640022b31fe42fd2

tdf#147978 export subpaths individually in custGeom

It will be available in 7.4.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 Commit Notification 2022-03-28 09:39:19 UTC
Regina Henschel committed a patch related to this issue.
It has been pushed to "libreoffice-7-3":

https://git.libreoffice.org/core/commit/6bd85136efe3d3668b59a596d692f65bf0a4982c

tdf#147978 export subpaths individually in custGeom

It will be available in 7.3.3.

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.