Issue 41995 - Import of path animations from open office presentation document fails
Summary: Import of path animations from open office presentation document fails
Alias: None
Product: Impress
Classification: Application
Component: save-export (show other issues)
Version: 680m70
Hardware: All All
: P3 Trivial with 1 vote (vote)
Target Milestone: 3.4.0
Assignee: wolframgarten
QA Contact: issues@graphics
Keywords: oooqa, regression
: 35719 59577 66695 (view as issue list)
Depends on:
Reported: 2005-02-03 16:58 UTC by nospam
Modified: 2017-05-20 10:30 UTC (History)
6 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Note You need to log in before you can comment on or make changes to this issue.
Description nospam 2005-02-03 16:58:14 UTC
If you open our chess sample in Impress and start the presentation mode you see
a very very strange behavior in the moves of the different chessmen - and that
was ok in SO7.
Comment 1 groucho266 2005-02-03 17:27:43 UTC
Please have a look at this issue.
Comment 2 clippka 2005-02-04 14:23:16 UTC
Armin, to fix this issue I need some basegfx classes and Thorsten said you are
working on something like this.

The problem is I have this SdrPathObj from the old animation path effect and I
need to convert it to an svg:d element for SMIL Can you give me something like

OUString = makeMeSMIL( SdrPathObj* pPath )  ?
Comment 3 Armin Le Grand 2005-02-04 14:58:00 UTC
AW->IHA: For getting the PolyPolygon from the SdrPathObj use GetPathPoly() at
the object, this gives You the XPolyPolygon.
At the XPolyPolygon You can use getB2DPolyPolygon() to get as a
To convert to SMIL there should be something in basegfx, but this is well better
known to THB since he added that i i did not see or use it up to now. The other
svg:d converter we have is in xmloff as helper class, see
xmloff/source/draw/xexptran.cxx class SdXMLImExSvgDElement. But i am sure THB is
more thinking about the converter he added to basegfx.
Comment 4 Armin Le Grand 2005-02-04 14:59:47 UTC
AW->CL: Upps, wrong owner. I was irritated by the submitter name :-)
Comment 5 clippka 2005-02-25 13:24:42 UTC
I changed description to more general describe the problem that the import of
old path animation fails.

The sample chess document will be repaired with an internal task for 8 release.
Comment 6 ooo 2005-02-25 20:35:28 UTC
set to OOo Later
Comment 7 Regina Henschel 2005-03-05 22:06:02 UTC
Why is the component "testproduct"? The issue should be found by "presentation".
Why is it set to "Later"? This defect entails, that you have to install both,
OOo2.0 and OOo1.1.* to use your old presentations.
Comment 8 clippka 2005-03-18 10:44:57 UTC
Thanks Regina, you are right. Changing component to 'Presentation'
Comment 9 sven.jacobi 2005-05-24 10:58:58 UTC
*** Issue 35719 has been marked as a duplicate of this issue. ***
Comment 10 clippka 2005-05-24 11:53:07 UTC
Comment 11 christian.guenther 2006-01-03 11:48:09 UTC
*** Issue 59577 has been marked as a duplicate of this issue. ***
Comment 12 lohmaier 2006-10-16 23:07:27 UTC
flagging as regression.
This is similar to data-loss and breaks compatibility with older documents.
Still not fixed
Comment 13 lohmaier 2006-10-16 23:08:13 UTC
*** Issue 66695 has been marked as a duplicate of this issue. ***
Comment 14 Regina Henschel 2006-10-23 21:32:20 UTC
Isn't it the same problem as issue 41800?
Comment 15 clippka 2011-02-10 10:33:28 UTC
Comment 16 clippka 2011-03-09 17:30:32 UTC
fixed in cws impress210

Ok, this was actually hard to do. The code to convert path object to smil path was available and easy to integrate, but two problems surfaced.

1. When importing sxi documents, page and shape id attributes where not distinct. sxi format only has distinct ids for the element type page and shape. therefore animations where not able to target the shape or path because the id was also given to a page.

I fixed this by adding 'shape' prefix to shape ids inside the ooo transformer. This was done for draw:id in pages and draw:id in shapes, also draw:end-shape and draw:start-shape for referencing connectors. Also to the draw:shape-id and presentation:path-id of the animation elements.

2. Smil animation paths are always stored relative to the center of the animated shape. To convert from the absolute sxi path I needed the animated shapes boundrect during loading. Due to a recent performance optimization, the bound rect will not be calculated during load. The returned bound rects where empty in some cases and completly chaotic when dealing with group shapes.

I fixed this bye adding a bool parameter (bForce) to the shape method RecalcBoundRect which on true always recalculates the bound rect.
This works but must be reviewed by AW, esp. the implementation for SdrGroup::RecalcBoundRect()
Comment 17 clippka 2011-03-29 11:56:09 UTC
verified in cws

cl->aw: please review my changes made in drawing layer for this issue and foreward this issue to wg if you are ok with them
Comment 18 clippka 2011-03-29 14:29:28 UTC
cl: aw showed me a better way to fix this, therefore set to new again
Comment 19 clippka 2011-03-30 14:22:54 UTC
fix suggested by armin verified in cws, back to qa
Comment 20 wolframgarten 2011-03-31 08:30:13 UTC
Verified in CWS.