From 49ac37ddfcd39eef947d4d4d5805e89bfa4ca063 Mon Sep 17 00:00:00 2001 From: Marcel Metz Date: Mon, 5 Dec 2011 19:08:37 +0100 Subject: [PATCH] Replace Stack with std::stack< LineInfo* > --- vcl/source/gdi/cvtsvm.cxx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/vcl/source/gdi/cvtsvm.cxx b/vcl/source/gdi/cvtsvm.cxx index 7d9ec4d53177..bb5628f57fa7 100644 --- a/vcl/source/gdi/cvtsvm.cxx +++ b/vcl/source/gdi/cvtsvm.cxx @@ -29,7 +29,6 @@ #include #include -#include #include #include #include @@ -530,7 +529,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf ) } LineInfo aLineInfo( LINE_NONE, 0 ); - Stack aLIStack; + ::std::stack< LineInfo* > aLIStack; VirtualDevice aFontVDev; rtl_TextEncoding eActualCharSet = osl_getThreadTextEncoding(); sal_Bool bFatLine = sal_False; @@ -1145,7 +1144,7 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf ) case( GDI_PUSH_ACTION ): { - aLIStack.Push( new LineInfo( aLineInfo ) ); + aLIStack.push( new LineInfo( aLineInfo ) ); rMtf.AddAction( new MetaPushAction( PUSH_ALL ) ); // #106172# Track font relevant data in shadow VDev @@ -1156,7 +1155,8 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf ) case( GDI_POP_ACTION ): { - LineInfo* pLineInfo = (LineInfo*) aLIStack.Pop(); + LineInfo* pLineInfo = aLIStack.top(); + aLIStack.pop(); // restore line info if( pLineInfo ) @@ -1353,11 +1353,14 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf ) rIStm.SeekRel( nActionSize - 4L ); break; } - } + } - // cleanup push-pop stack if neccessary - for( void* pLineInfo = aLIStack.Pop(); pLineInfo; pLineInfo = aLIStack.Pop() ) - delete (LineInfo*) pLineInfo; + // cleanup push-pop stack if neccessary + while( !aLIStack.empty() ) + { + delete aLIStack.top(); + aLIStack.pop(); + } rIStm.SetNumberFormatInt( nOldFormat ); }