diff options
Diffstat (limited to 'filter/source/msfilter/svdfppt.cxx')
-rw-r--r-- | filter/source/msfilter/svdfppt.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index c41be3839c33..ed94ca963e50 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -1837,15 +1837,18 @@ SdrObject* SdrPowerPointImport::ImportOLE( long nOLEId, if ( aTmpFile.IsValid() ) { - std::unique_ptr<SvStream> pDest(::utl::UcbStreamHelper::CreateStream( aTmpFile.GetURL(), StreamMode::TRUNC | StreamMode::WRITE )); - if ( pDest ) + SvStream* pDest = aTmpFile.GetStream(StreamMode::TRUNC | StreamMode::WRITE); + if (pDest) + { bSuccess = SdrPowerPointOLEDecompress( *pDest, rStCtrl, nLen ); + } + aTmpFile.CloseStream(); } if ( bSuccess ) { - std::unique_ptr<SvStream> pDest(::utl::UcbStreamHelper::CreateStream( aTmpFile.GetURL(), StreamMode::READ )); + SvStream* pDest = aTmpFile.GetStream(StreamMode::READ); Storage* pObjStor = pDest ? new Storage( *pDest, true ) : nullptr; - if ( pObjStor ) + if (pObjStor) { tools::SvRef<SotStorage> xObjStor( new SotStorage( pObjStor ) ); if ( xObjStor.is() && !xObjStor->GetError() ) @@ -1947,6 +1950,7 @@ SdrObject* SdrPowerPointImport::ImportOLE( long nOLEId, } } } + aTmpFile.CloseStream(); } } } |