[Libreoffice-commits] core.git: filter/source
Stephan Bergmann
sbergman at redhat.com
Tue Apr 22 06:10:25 PDT 2014
filter/source/msfilter/util.cxx | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
New commits:
commit ab9813eaea32b3456a37a283b74ee7be39c69a0c
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Apr 22 15:06:58 2014 +0200
Don't litter pCustomShapeTypeTranslationHashMap with dangling keys
...that are char* into temporary OString at the GetOOXMLPresetGeometry call site
in oox/source/export/shapes.cxx.
Change-Id: Ifd6533f9bd869b740a6b483f4a1f6e4860007b9c
diff --git a/filter/source/msfilter/util.cxx b/filter/source/msfilter/util.cxx
index 807061f..3eb2309 100644
--- a/filter/source/msfilter/util.cxx
+++ b/filter/source/msfilter/util.cxx
@@ -1302,8 +1302,6 @@ static CustomShapeTypeTranslationHashMap* pCustomShapeTypeTranslationHashMap = N
const char* GetOOXMLPresetGeometry( const char* sShapeType )
{
- const char* sPresetGeo;
-
if( pCustomShapeTypeTranslationHashMap == NULL )
{
pCustomShapeTypeTranslationHashMap = new CustomShapeTypeTranslationHashMap ();
@@ -1312,13 +1310,9 @@ const char* GetOOXMLPresetGeometry( const char* sShapeType )
(*pCustomShapeTypeTranslationHashMap)[ pCustomShapeTypeTranslationTable[ i ].sOOo ] = pCustomShapeTypeTranslationTable[ i ].sMSO;
}
}
-
- sPresetGeo = (*pCustomShapeTypeTranslationHashMap)[ sShapeType ];
-
- if( sPresetGeo == NULL )
- sPresetGeo = "rect";
-
- return sPresetGeo;
+ CustomShapeTypeTranslationHashMap::iterator i(
+ pCustomShapeTypeTranslationHashMap->find(sShapeType));
+ return i == pCustomShapeTypeTranslationHashMap->end() ? "rect" : i->second;
}
typedef boost::unordered_map< const char*, MSO_SPT, rtl::CStringHash, rtl::CStringEqual> DMLToVMLTranslationHashMap;
More information about the Libreoffice-commits
mailing list