You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2012/04/04 17:12:13 UTC
svn commit: r1309445 - in /incubator/ooo/trunk/main:
svtools/source/filter/filter.cxx svtools/source/graphic/grfcache.cxx
sw/source/core/doc/notxtfrm.cxx
Author: alg
Date: Wed Apr 4 15:12:13 2012
New Revision: 1309445
URL: http://svn.apache.org/viewvc?rev=1309445&view=rev
Log:
#119176# corrected file type detection for SVG for svg files without xml header
Modified:
incubator/ooo/trunk/main/svtools/source/filter/filter.cxx
incubator/ooo/trunk/main/svtools/source/graphic/grfcache.cxx
incubator/ooo/trunk/main/sw/source/core/doc/notxtfrm.cxx
Modified: incubator/ooo/trunk/main/svtools/source/filter/filter.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svtools/source/filter/filter.cxx?rev=1309445&r1=1309444&r2=1309445&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svtools/source/filter/filter.cxx (original)
+++ incubator/ooo/trunk/main/svtools/source/filter/filter.cxx Wed Apr 4 15:12:13 2012
@@ -723,6 +723,44 @@ static sal_Bool ImpPeekGraphicFormat( Sv
return sal_True;
}
}
+ else
+ {
+ // #119176# Svg files which have no xml header at all have shown up,
+ // detect those, too
+ bool bIsSvg(false);
+
+ // check for svg element in 1st 256 bytes
+ if(ImplSearchEntry( sFirstBytes, (sal_uInt8*)"<svg", 256, 4 )) // '<svg'
+ {
+ bIsSvg = true;
+ }
+
+ if(!bIsSvg)
+ {
+ // look for '<svg' in full file. Should not happen too
+ // often since the tests above will handle most cases, but can happen
+ // with Svg files containing big comment headers or Svg as the host
+ // language
+ const sal_uLong nSize((nStreamLen > 2048) ? 2048 : nStreamLen);
+ sal_uInt8* pBuf = new sal_uInt8[nSize];
+
+ rStream.Seek(nStreamPos);
+ rStream.Read(pBuf, nSize);
+
+ if(ImplSearchEntry(pBuf, (sal_uInt8*)"<svg", nSize, 4)) // '<svg'
+ {
+ bIsSvg = true;
+ }
+
+ delete[] pBuf;
+ }
+
+ if(bIsSvg)
+ {
+ rFormatExtension = UniString::CreateFromAscii( "SVG", 3 );
+ return sal_True;
+ }
+ }
}
else if( rFormatExtension.CompareToAscii( "SVG", 3 ) == COMPARE_EQUAL )
{
Modified: incubator/ooo/trunk/main/svtools/source/graphic/grfcache.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svtools/source/graphic/grfcache.cxx?rev=1309445&r1=1309444&r2=1309445&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svtools/source/graphic/grfcache.cxx (original)
+++ incubator/ooo/trunk/main/svtools/source/graphic/grfcache.cxx Wed Apr 4 15:12:13 2012
@@ -407,6 +407,9 @@ void GraphicCacheEntry::GraphicObjectWas
delete mpBmpEx, mpBmpEx = NULL;
delete mpMtf, mpMtf = NULL;
delete mpAnimation, mpAnimation = NULL;
+
+ // #119176# also reset SvgData
+ maSvgData.reset();
}
}
Modified: incubator/ooo/trunk/main/sw/source/core/doc/notxtfrm.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sw/source/core/doc/notxtfrm.cxx?rev=1309445&r1=1309444&r2=1309445&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sw/source/core/doc/notxtfrm.cxx (original)
+++ incubator/ooo/trunk/main/sw/source/core/doc/notxtfrm.cxx Wed Apr 4 15:12:13 2012
@@ -869,7 +869,7 @@ bool paintUsingPrimitivesHelper(
if(bMirrorX || bMirrorY)
{
aMappingTransform.translate(-aTargetRange.getCenterX(), -aTargetRange.getCenterY());
- aMappingTransform.scale(bMirrorX ? -1.0 : 1.0, bMirrorX ? -1.0 : 1.0);
+ aMappingTransform.scale(bMirrorX ? -1.0 : 1.0, bMirrorY ? -1.0 : 1.0); // #119176# small typo with X/Y
aMappingTransform.translate(aTargetRange.getCenterX(), aTargetRange.getCenterY());
}