Bug 112088 - PPTX with specific gradient fill opens with repair in PowerPoint after roundtrip
Summary: PPTX with specific gradient fill opens with repair in PowerPoint after roundtrip
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
5.0.0.5 release
Hardware: All All
: medium normal
Assignee: Szymon Kłos
URL:
Whiteboard: target:6.0.0
Keywords: filter:ooxml
Depends on:
Blocks: OOXML-Object-Fill PPTX-Corrupted
  Show dependency treegraph
 
Reported: 2017-08-29 14:19 UTC by Aron Budea
Modified: 2017-09-18 13:45 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Sample PPTX (becomes corrupted after roundtrip) (29.61 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2017-08-29 14:19 UTC, Aron Budea
Details
Sample PPTX (doesn't become corrupted after roundtrip) (29.60 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2017-08-29 14:20 UTC, Aron Budea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aron Budea 2017-08-29 14:19:15 UTC
Created attachment 135848 [details]
Sample PPTX (becomes corrupted after roundtrip)

The attached presentation contains a single shape with a gradient fill where the two gradient stops are at the same position.
Save it as a new PPTX in Impress. The resulting file opens with repair in PowerPoint.

Note that if one of the gradient stops is moved even by 1%, the roundtripped file opens fine (the colors are flipped, though).
In Impress the gradient shows very differently in both cases, possibly due to bug 76682.

Observed using LO 6.0 daily build (2017-08-27_23:19:54, 9600f5179795380749aa5a7c9fa0bf5387d2b95f), 5.0.0.5 / Windows 7.
Comment 1 Aron Budea 2017-08-29 14:20:09 UTC
Created attachment 135849 [details]
Sample PPTX (doesn't become corrupted after roundtrip)
Comment 2 Xisco Faulí 2017-08-31 23:00:54 UTC
Validating in Open XML SDK 2.5 I get:

GradientStopList - The element has incomplete content
Comment 3 Aron Budea 2017-09-08 19:02:52 UTC
This kind of gradient fill seems to be missing from ODF format, so it's a format limitation. Jay, is there an appropriate META bug for such issues?

Note that the bug can still be fixed by importing into the closest valid ODF gradient fill, and exporting that (or possibly even roundtripping the OOXML element as it came from MS Office).
Comment 4 Yousuf Philips (jay) (retired) 2017-09-11 15:36:50 UTC
(In reply to Aron Budea from comment #3)
> Jay, is there an appropriate META bug for such issues?

ooxml-object-fill meta bug (bug 94774).

> Note that the bug can still be fixed by importing into the closest valid ODF
> gradient fill, and exporting that (or possibly even roundtripping the OOXML
> element as it came from MS Office).

Unless the user modifies the gradient/fill, it should be retained as is during RT.
Comment 5 Commit Notification 2017-09-18 13:42:46 UTC
Szymon Kłos committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=89879b0051529cb8d16da6c8b4b1203679f8f734

tdf#112088 gradient stop map -> multimap

It will be available in 6.0.0.

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

Affected users are encouraged to test the fix and report feedback.