summaryrefslogtreecommitdiff
path: root/toolkit/source/awt/vclxgraphics.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/source/awt/vclxgraphics.cxx')
-rw-r--r--toolkit/source/awt/vclxgraphics.cxx16
1 files changed, 12 insertions, 4 deletions
diff --git a/toolkit/source/awt/vclxgraphics.cxx b/toolkit/source/awt/vclxgraphics.cxx
index dc2c84702664..8f29a5e5e86f 100644
--- a/toolkit/source/awt/vclxgraphics.cxx
+++ b/toolkit/source/awt/vclxgraphics.cxx
@@ -73,9 +73,17 @@ VCLXGraphics::VCLXGraphics()
VCLXGraphics::~VCLXGraphics()
{
- List* pLst = mpOutputDevice ? mpOutputDevice->GetUnoGraphicsList() : NULL;
+ VCLXGraphicsList_impl* pLst = mpOutputDevice ? mpOutputDevice->GetUnoGraphicsList() : NULL;
if ( pLst )
- pLst->Remove( this );
+ {
+ for( VCLXGraphicsList_impl::iterator it = pLst->begin(); it < pLst->end(); ++it )
+ {
+ if( *it == this ) {
+ pLst->erase( it );
+ break;
+ }
+ }
+ }
delete mpClipRegion;
}
@@ -100,10 +108,10 @@ void VCLXGraphics::Init( OutputDevice* pOutDev )
mpClipRegion = NULL;
// Register at OutputDevice
- List* pLst = mpOutputDevice->GetUnoGraphicsList();
+ VCLXGraphicsList_impl* pLst = mpOutputDevice->GetUnoGraphicsList();
if ( !pLst )
pLst = mpOutputDevice->CreateUnoGraphicsList();
- pLst->Insert( this, LIST_APPEND );
+ pLst->push_back( this );
}
void VCLXGraphics::InitOutputDevice( sal_uInt16 nFlags )