Bug 111790 - Shadow imported from a PPTX file is not overriden by the settings while saving back to PPTX
Summary: Shadow imported from a PPTX file is not overriden by the settings while savin...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
6.0.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: Martin Bakos
URL:
Whiteboard: target:6.1.0
Keywords: difficultyBeginner, easyHack, filter:pptx, skillCpp
Depends on:
Blocks: PPTX
  Show dependency treegraph
 
Reported: 2017-08-14 03:56 UTC by Tamás Zolnai
Modified: 2017-12-23 02:04 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
PPTX file exported from MSO, import this file first while testing (32.79 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2017-08-14 03:56 UTC, Tamás Zolnai
Details
PPTX file exported by LO after changes was made (21.10 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2017-08-14 03:59 UTC, Tamás Zolnai
Details
An other test case created in MSO (32.88 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2017-12-22 14:07 UTC, Tamás Zolnai
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tamás Zolnai 2017-08-14 03:56:07 UTC
Description:
In LO there is some grabbag mechanism which saves MSO properties imported from PPTX file and if nothing changes in the document it can be saved again into the PPTX file. The problem is that if I change the shadow settings, it does not override the imported value and so after resave property changes are not preserved.

Steps to Reproduce:
1. Open attached PPTX file exported by MSO
2. Import into Impress
3. Change shadow properties (color, transparency, distance, angle)
4. Save to a new PPTX
5. Import the saved PPTX in LO or in MSO

Actual Results:  
The changes made in Impress are not saved.

Expected Results:
Changes made in Impress should have effect on the saved PPTX file


Reproducible: Always

User Profile Reset: No

Additional Info:


User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
Comment 1 Tamás Zolnai 2017-08-14 03:56:38 UTC
Created attachment 135536 [details]
PPTX file exported from MSO, import this file first while testing
Comment 2 Tamás Zolnai 2017-08-14 03:59:33 UTC
Created attachment 135537 [details]
PPTX file exported by LO after changes was made

Same attributes are there and same value as in the first attached document. Only the order is different, as LO writes out the properties in this order.
Comment 3 Xisco Faulí 2017-08-14 09:59:07 UTC
Confirmed in

Version: 6.0.0.0.alpha0+
Build ID: ef2e6260fad38e26c8591ea88ded348db618270d
CPU threads: 4; OS: Linux 4.10; UI render: default; VCL: gtk3; 
Locale: ca-ES (ca_ES.UTF-8); Calc: group
Comment 4 Tamás Zolnai 2017-08-14 23:29:09 UTC
Let's turn it into a easy hack. The code is here:
oox/source/export/drawingml.cxx
Check DrawingML::WriteShapeEffect(...) method for export and
oox/source/drawingml/effectpropertiescontext.cxx for import part
Comment 5 Tamás Zolnai 2017-12-22 14:07:34 UTC
Created attachment 138598 [details]
An other test case created in MSO
Comment 6 Commit Notification 2017-12-23 01:58:44 UTC
martinb214 committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=7f42b0f96a2798ae99aa65b84b0db3b2af2b282b

tdf#111790: Shadow imported from a PPTX file is not overriden

It will be available in 6.1.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.
Comment 7 Tamás Zolnai 2017-12-23 02:04:42 UTC
This bug was created as an easy hack and the easy part is fixed now, which makes the second test case (attachment 138598 [details]) working while the first one (attachment 135536 [details]) still shows an issue. Fixing the first test case would be more complicated as an easy hack, so better to close this bug with after the partail fix.