diff options
author | Marcel Metz <mmetz@adrian-broher.net> | 2011-12-05 19:08:36 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2011-12-05 22:54:55 +0100 |
commit | dc6431f7fde63691a0022bec662e554b0bd432ed (patch) | |
tree | 55b018098c967d9fb4c5110a806fad824a44783b | |
parent | Replace SmNodeStack with std::stack< SmNode* > (diff) | |
download | core-dc6431f7fde63691a0022bec662e554b0bd432ed.tar.gz core-dc6431f7fde63691a0022bec662e554b0bd432ed.zip |
Replace Stack with std::stack< Color* >
-rw-r--r-- | vcl/inc/vcl/cvtsvm.hxx | 5 | ||||
-rw-r--r-- | vcl/source/gdi/cvtsvm.cxx | 16 |
2 files changed, 12 insertions, 9 deletions
diff --git a/vcl/inc/vcl/cvtsvm.hxx b/vcl/inc/vcl/cvtsvm.hxx index de4158e08efc..370871be7715 100644 --- a/vcl/inc/vcl/cvtsvm.hxx +++ b/vcl/inc/vcl/cvtsvm.hxx @@ -29,6 +29,7 @@ #ifndef _SV_CVTMTF_HXX #define _SV_CVTMTF_HXX +#include <stack> #include <vcl/dllapi.h> #include <vcl/metaact.hxx> #include <vcl/gdimtf.hxx> @@ -91,8 +92,6 @@ // - SVMConverter - // ---------------- -class Stack; - class VCL_PLUGIN_PUBLIC SVMConverter { private: @@ -100,7 +99,7 @@ private: SAL_DLLPRIVATE void ImplConvertToSVM1( SvStream& rOStm, GDIMetaFile& rMtf ); SAL_DLLPRIVATE sal_uLong ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf, VirtualDevice& rSaveVDev, sal_Bool& rRop_0_1, - Color& rLineCol, Stack& rLineColStack, + Color& rLineCol, ::std::stack<Color*>& rLineColStack, rtl_TextEncoding& rActualCharSet ); public: diff --git a/vcl/source/gdi/cvtsvm.cxx b/vcl/source/gdi/cvtsvm.cxx index 92b326cdfaed..7d9ec4d53177 100644 --- a/vcl/source/gdi/cvtsvm.cxx +++ b/vcl/source/gdi/cvtsvm.cxx @@ -1374,7 +1374,7 @@ void SVMConverter::ImplConvertToSVM1( SvStream& rOStm, GDIMetaFile& rMtf ) sal_Bool bRop_0_1 = sal_False; VirtualDevice aSaveVDev; Color aLineCol( COL_BLACK ); - Stack aLineColStack; + ::std::stack< Color* > aLineColStack; rOStm.SetNumberFormatInt( NUMBERFORMAT_INT_LITTLEENDIAN ); @@ -1399,15 +1399,18 @@ void SVMConverter::ImplConvertToSVM1( SvStream& rOStm, GDIMetaFile& rMtf ) rOStm.SetNumberFormatInt( nOldFormat ); // cleanup push-pop stack if neccessary - for( void* pCol = aLineColStack.Pop(); pCol; pCol = aLineColStack.Pop() ) - delete (Color*) pCol; + while ( !aLineColStack.empty() ) + { + delete aLineColStack.top(); + aLineColStack.pop(); + } } // ------------------------------------------------------------------------ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf, VirtualDevice& rSaveVDev, sal_Bool& rRop_0_1, - Color& rLineCol, Stack& rLineColStack, + Color& rLineCol, ::std::stack< Color* >& rLineColStack, rtl_TextEncoding& rActualCharSet ) { sal_uLong nCount = 0; @@ -2054,7 +2057,7 @@ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf, case( META_PUSH_ACTION ): { ImplWritePushAction( rOStm ); - rLineColStack.Push( new Color( rLineCol ) ); + rLineColStack.push( new Color( rLineCol ) ); rSaveVDev.Push(); nCount++; } @@ -2062,7 +2065,8 @@ sal_uLong SVMConverter::ImplWriteActions( SvStream& rOStm, GDIMetaFile& rMtf, case( META_POP_ACTION ): { - Color* pCol = (Color*) rLineColStack.Pop(); + Color* pCol = rLineColStack.top(); + rLineColStack.pop(); if( pCol ) { |