Blame SOURCES/0001-Resolves-i125289-do-apply-possible-changed-GraphicSt.patch

f085be
From fd641c7b23ce4205c29fc0c564b73336cb2cfb07 Mon Sep 17 00:00:00 2001
f085be
From: Oliver-Rainer Wittmann <orw@apache.org>
f085be
Date: Wed, 23 Jul 2014 08:53:15 +0000
f085be
Subject: [PATCH] Resolves: #i125289# do apply possible changed
f085be
 <GraphicStreamURL>...
f085be
f085be
only for embedded images which already have its stream inside the package
f085be
f085be
fixes also issue 125290
f085be
f085be
(cherry picked from commit 9602a121b458e7456fc533dad86f434f846a72ba)
f085be
f085be
Conflicts:
f085be
	xmloff/source/draw/shapeexport2.cxx
f085be
f085be
Change-Id: I5af0093b20f2f291d3a94c690bfbdb59a59320c3
f085be
---
f085be
 xmloff/source/draw/shapeexport.cxx | 32 +++++++++++++++++++-------------
f085be
 1 file changed, 19 insertions(+), 13 deletions(-)
f085be
f085be
diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
f085be
index 7f33e58..ba8ce16 100644
f085be
--- a/xmloff/source/draw/shapeexport.cxx
f085be
+++ b/xmloff/source/draw/shapeexport.cxx
f085be
@@ -2256,9 +2256,12 @@ void XMLShapeExport::ImpExportGraphicObjectShape(
f085be
                 OUString aResolveURL( sImageURL );
f085be
                 const OUString sPackageURL( "vnd.sun.star.Package:" );
f085be
 
f085be
-                // trying to preserve the filename
f085be
+                // trying to preserve the filename for embedded images which already have its stream inside the package
f085be
+                bool bIsEmbeddedImageWithExistingStreamInPackage = false;
f085be
                 if ( aStreamURL.match( sPackageURL, 0 ) )
f085be
                 {
f085be
+                    bIsEmbeddedImageWithExistingStreamInPackage = true;
f085be
+
f085be
                     OUString sRequestedName( aStreamURL.copy( sPackageURL.getLength(), aStreamURL.getLength() - sPackageURL.getLength() ) );
f085be
                     sal_Int32 nLastIndex = sRequestedName.lastIndexOf( '/' ) + 1;
f085be
                     if ( ( nLastIndex > 0 ) && ( nLastIndex < sRequestedName.getLength() ) )
f085be
@@ -2278,20 +2281,23 @@ void XMLShapeExport::ImpExportGraphicObjectShape(
f085be
 
f085be
                 if( !aStr.isEmpty() )
f085be
                 {
f085be
-                    aStreamURL = sPackageURL;
f085be
-                    if( aStr[ 0 ] == '#' )
f085be
-                    {
f085be
-                        aStreamURL = aStreamURL.concat( aStr.copy( 1, aStr.getLength() - 1 ) );
f085be
-                    }
f085be
-                    else
f085be
+                    // apply possible changed stream URL to embedded image object
f085be
+                    if ( bIsEmbeddedImageWithExistingStreamInPackage )
f085be
                     {
f085be
-                        aStreamURL = aStreamURL.concat( aStr );
f085be
-                    }
f085be
+                        aStreamURL = sPackageURL;
f085be
+                        if ( aStr[0] == '#' )
f085be
+                        {
f085be
+                            aStreamURL = aStreamURL.concat( aStr.copy( 1, aStr.getLength() - 1 ) );
f085be
+                        }
f085be
+                        else
f085be
+                        {
f085be
+                            aStreamURL = aStreamURL.concat( aStr );
f085be
+                        }
f085be
 
f085be
-                    // update stream URL for load on demand
f085be
-                    uno::Any aAny;
f085be
-                    aAny <<= aStreamURL;
f085be
-                    xPropSet->setPropertyValue("GraphicStreamURL", aAny );
f085be
+                        uno::Any aAny;
f085be
+                        aAny <<= aStreamURL;
f085be
+                        xPropSet->setPropertyValue( OUString("GraphicStreamURL"), aAny );
f085be
+                    }
f085be
 
f085be
                     mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE );
f085be
                     mrExport.AddAttribute(XML_NAMESPACE_XLINK, XML_SHOW, XML_EMBED );
f085be
-- 
f085be
1.9.3
f085be