On 25.10.22 18:24, Regina Henschel wrote:
Hi all,
this is about https://gerrit.libreoffice.org/c/core/+/141830
tdf#83671 SmartArt: preserve pos and size for metafile
If you try the patch, you will see, that the SmartArt is imported in
Calc as group object with one child object. The child is a
"com.sun.star.drawing.GraphicObjectShape". Copying to Draw shows, that
it is indeed a metafile. So the patch seems to be correct.
But the unit test fails. It has the warning
warn:oox.drawingml:2860:13240:oox/source/drawingml/shape.cxx:2039:
Shape::renderDiagramToGraphic com.sun.star.uno.DeploymentException
message: "component context fails to supply service
com.sun.star.drawing.GraphicExportFilter of type
com.sun.star.drawing.XGraphicExportFilter"
The warning comes from method create() from class GraphicExportFilter,
where creating of "the_instance" fails. And so indeed no metafile is
created.
I have no idea about the reason as in a normal running LO the import
works and resaving as ods or xlsx has no problems.
the unit test makefile is missing some component file.
many unit tests use the whole services.rdb but some unfortunately have a
long list of individiual files inside a call to
gb_CppunitTest_use_components.
you can find the component file with a command like this:
git grep com.sun.star.drawing.GraphicExportFilter $(git ls-files '*.component')
svx/util/svxcore.component: <service
name="com.sun.star.drawing.GraphicExportFilter"/>
then add the "svx/util/svxcore" to the gb_CppunitTest_use_components
list in the test's CppunitTest_*.mk - don't forget the '\' must be the
last character of the line.