Bug 89853 - When opening .PPTX impress file, and then resaving as .PPT, the shapes will all be lost
Summary: When opening .PPTX impress file, and then resaving as .PPT, the shapes will a...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
3.5.6.2 release
Hardware: All All
: low major
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: dataLoss, filter:ppt, preBibisect, regression
Depends on:
Blocks: PPT
  Show dependency treegraph
 
Reported: 2015-03-06 02:59 UTC by gadgetpig
Modified: 2019-09-25 14:13 UTC (History)
8 users (show)

See Also:
Crash report or crash signature:


Attachments
correct smiley face (103.49 KB, image/png)
2015-03-06 02:59 UTC, gadgetpig
Details
missing smiley face clipart. Shows up properly under powerpoint. (104.63 KB, image/png)
2015-03-06 02:59 UTC, gadgetpig
Details
Bug 89853 Git Bisect Log (830 bytes, text/plain)
2015-03-07 05:35 UTC, Gabriel Diosan
Details
Simple pptx example of smiley face created in PP2016 (30.34 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2018-10-28 17:32 UTC, Luke
Details
Sample file correctly exported to ppt with PP2016 (85.00 KB, application/vnd.ms-powerpoint)
2018-10-28 17:34 UTC, Luke
Details
Advanced example showing how all shapes are lost on export to ppt (39.52 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2018-10-29 01:22 UTC, Luke
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gadgetpig 2015-03-06 02:59:01 UTC
Created attachment 113923 [details]
correct smiley face

From current fresh release:
Version: 4.4.1.2
Build ID: 45e2de17089c24a1fa810c8f975a7171ba4cd432
Locale: en_US

Create an impress document with smiley face clipart (using impress drawing tools) and then save it as PPTX.  Now open the PPTX file and resave it as .PPT, the smiley face clipart suddenly disappears.  Without any changes, opening the same .PPT file in Powerpoint/Powerpoint online, the smiley face reappears.  Issue seems to be the impress .PPT import filter/module and how it decodes the document on screen.
Comment 1 gadgetpig 2015-03-06 02:59:45 UTC
Created attachment 113924 [details]
missing smiley face clipart. Shows up properly under powerpoint.
Comment 2 Joel Madero 2015-03-06 03:36:15 UTC
Confirmed:
Ubuntu 14.10 x64
LibreOffice 4.5 master
Date:   Tue Mar 3 09:59:31 2015 +0000
Build: Date:   Tue Mar 3 09:59:31 2015 +0000


LibreOffice 3.3 does not have this issue.


Marking as:
New
Major - loss of data
Highest - loss of data + regression


bibisectRequest to see if it was introduced after 3.5.
Comment 3 Gabriel Diosan 2015-03-07 05:35:14 UTC
Created attachment 113940 [details]
Bug 89853 Git Bisect Log

Hi

So I tried to bisect this bug and got to the 3.5.0 release before my bisect ran into an error. The problem still appears in the 3.5.0 series and in fact seems to be even worse as the smiley face is often not visible even when reopening the saved pptx document.

I have attached the bisect log (as far as it got, I only had 11 revisions left to test), hopefully it is useful in some way.

Gabriel
Comment 4 Matthew Francis 2015-03-20 07:42:23 UTC
I can reproduce in 3.5.6.2/OSX, but not 3.4.6.2. I can't find a working (in either sense) commit at the start of the 43all bibisect repo either, so it's a preBibisect regression

I was amused by the way 3.4 and earlier turned the "smiley" into a "frowny" when saving as .pptx
Comment 5 gadgetpig 2015-04-19 11:44:07 UTC
Confirmed issue persists with 4.4.3.1 nightly:

Version: 4.4.3.1
Build ID: b2f347f2ac68821efc00b6f1793cda90af748118
Locale: en_U
Comment 6 gadgetpig 2015-07-20 03:13:07 UTC
Seems to be bigger issue also in 4.4.4.3.  This time the entire line connector and now both smiley face disappears when opening the pptx file, and then immediately saving as .ppt file.  Then opening the final saved .ppt file.

Version: 4.4.4.3
Build ID: 2c39ebcf046445232b798108aa8a7e7d89552ea8
Locale: en_US
Comment 7 Robinson Tryon (qubit) 2015-12-14 05:40:08 UTC Comment hidden (obsolete)
Comment 8 gadgetpig 2016-03-11 14:43:26 UTC
This issue still persists with Version: 5.1.1.3 (x64)
Build ID: 89f508ef3ecebd2cfb8e1def0f0ba9a803b88a6

to replicate, create new impress document, insert 2 smiley face symbol drawings and insert/connect line connector symbol between them. Save as pptx file. Open the same pptx then save as ppt file, both smiley face and connector are completely missing.
Comment 9 tommy27 2017-02-18 14:50:32 UTC Comment hidden (obsolete)
Comment 10 gadgetpig 2017-09-20 21:49:47 UTC Comment hidden (obsolete)
Comment 11 gadgetpig 2017-10-24 00:01:28 UTC Comment hidden (obsolete)
Comment 12 QA Administrators 2018-10-25 03:02:37 UTC Comment hidden (obsolete)
Comment 13 Luke 2018-10-28 17:32:18 UTC
Created attachment 146105 [details]
Simple pptx example of smiley face created in PP2016

Still reproducible in Version: 6.2.0.0.alpha1+ (x64)
Build ID: c9ec7105ba173af77fb9eadcdd3f694494664865

This bug affects all OOXML shapes that are converted to ppt.
Comment 14 Luke 2018-10-28 17:34:31 UTC
Created attachment 146106 [details]
Sample file correctly exported to ppt with PP2016
Comment 15 Luke 2018-10-28 18:04:22 UTC
Between 3.4 and 3.5, the OOXML import filter was overhauled:
https://cgit.freedesktop.org/libreoffice/core/log/oox/source/drawingml/customshapeproperties.cxx?ofs=50

In commits like
https://cgit.freedesktop.org/libreoffice/core/commit/?id=ca5c78e28fb4
https://cgit.freedesktop.org/libreoffice/core/commit/?id=d05649c43b41

The ppt export filter needs to be updated to handle these changes.
Comment 16 Luke 2018-10-29 01:22:15 UTC
Created attachment 146116 [details]
Advanced example showing how all shapes are lost on export to ppt

In this test, the only shape preserved is the rectangle.
Comment 17 eisa01 2019-06-08 11:44:34 UTC
Still present when testing now

Version: 6.3.0.0.beta1
Build ID: a187af327633f5f00363be5131bd21a13e0f1a7b
CPU threads: 2; OS: Mac OS X 10.13.6; UI render: default; VCL: osx; 
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Calc: threaded
Comment 18 Regina Henschel 2019-06-08 21:27:15 UTC
The shapes get the type "ooxml-foo" and the actual formulas and paths are used, when import from pptx. Such way not only preset shapes but also custom geometry shapes can be read. The formulas work with values relative to actual width and height and angles in 1/60000 degree.

Shapes from binary MS Office files get a type mso-sptFoo or the type identifier, which our own shapes use, on import. Formulas are not imported, but preset definitions are used. Only adjustment values are imported. But these use for angles simple degree and for length values in range 0..21600. Our own custom shapes are handled the same way.
The ppt export expects this situation and cannot use the types "ooxml-foo".

It would be necessary to convert the "ooxml-foo" shapes on export. Such conversion would be similar to the conversion done for the WordArt-transformation von OOXML on import. Those are converted to the corresponding ones from MS binary format on import. Therefore the problem does not exist for these WordArt shapes.

Mapping tables for the types are in /core/filter/source/msfilter/util.cxx. Converting the modifier values need some care, because the reference base might be different in OOXML and binary MS Office.

But do we really want to work on _export_ filters for an old binary file format? We have already dropped export to the binary StarDivision formats (.sdd) and to the XML-formats of OpenOffice.org1.0 (.sxi).
Comment 19 Buovjaga 2019-09-23 12:29:12 UTC
(In reply to Regina Henschel from comment #18)
> But do we really want to work on _export_ filters for an old binary file
> format? We have already dropped export to the binary StarDivision formats
> (.sdd) and to the XML-formats of OpenOffice.org1.0 (.sxi).

After a quick poll among core devs, the opinion was that, yes, we want to work on improving PPT export filter, but with lower priority.