diff options
Diffstat (limited to 'basic/source/comp/codegen.cxx')
-rw-r--r-- | basic/source/comp/codegen.cxx | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/basic/source/comp/codegen.cxx b/basic/source/comp/codegen.cxx index aa587ba0e5b5..8b7a0a8142e4 100644 --- a/basic/source/comp/codegen.cxx +++ b/basic/source/comp/codegen.cxx @@ -133,7 +133,7 @@ void SbiCodeGen::Save() if( pParser->IsCodeCompleting() ) return; - SbiImage* p = new SbiImage; + std::unique_ptr<SbiImage> p( new SbiImage ); rMod.StartDefinitions(); // OPTION BASE-Value: p->nDimBase = pParser->nBase; @@ -150,7 +150,7 @@ void SbiCodeGen::Save() nIfaceCount = pParser->aIfaceVector.size(); if( !rMod.pClassData ) - rMod.pClassData = new SbClassData; + rMod.pClassData.reset( new SbClassData ); if( nIfaceCount ) { for( int i = 0 ; i < nIfaceCount ; i++ ) @@ -375,11 +375,7 @@ void SbiCodeGen::Save() } if( !p->IsError() ) { - rMod.pImage = p; - } - else - { - delete p; + rMod.pImage = std::move(p); } rMod.EndDefinitions(); } |