From fee240db94d110d5c34d05c3b6c1792fece7a716 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 26 Apr 2017 17:52:27 +0200 Subject: tdf#107392 ODF import: fix z-order sorting of SVG images The problem was that in case the document has shapes where the order does not match the z-index order, so sorting is needed, then sorting failed to take the multi-image feature into account. E.g. SVG images have a PNG fallback, but at the end of the shape import the PNG fallback is removed, which means the "actual" (not the "wished") z-index of the shapes after the SVG image has to be adjusted. Without this happening SvxDrawPage::getByIndex() (or in case of Writer, SwTextBoxHelper::getByIndex()) will throw when the importer calls getByIndex(3) but we only have 3 shapes. This results in not honoring the z-index request of the remaining shapes. Regression from commit 44cfc7cb6533d827fd2d6e586d92c61d7d7f7a70 (re-base on ALv2 code. Includes (at least) relevant parts of:, 2012-10-09), from the Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement http://svn.apache.org/viewvc?view=revision&revision=1220836 part. Reviewed-on: https://gerrit.libreoffice.org/36998 Tested-by: Jenkins Conflicts: sw/qa/extras/odfimport/odfimport.cxx Change-Id: Ibe880e5c6c74b728b4a760498720ee31f052b726 --- include/xmloff/shapeimport.hxx | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/xmloff/shapeimport.hxx') diff --git a/include/xmloff/shapeimport.hxx b/include/xmloff/shapeimport.hxx index bad298cc5037..a47a621b7e01 100644 --- a/include/xmloff/shapeimport.hxx +++ b/include/xmloff/shapeimport.hxx @@ -364,6 +364,9 @@ public: void shapeWithZIndexAdded( css::uno::Reference< css::drawing::XShape >& rShape, sal_Int32 nZIndex ); + /// Updates the z-order of other shapes to be consistent again, needed due + /// to the removal of rShape. + void shapeRemoved(const css::uno::Reference& rShape); void addShapeConnection( css::uno::Reference< css::drawing::XShape >& rConnectorShape, bool bStart, -- cgit v1.2.3