diff options
-rw-r--r-- | vcl/inc/impgraph.hxx | 2 | ||||
-rw-r--r-- | vcl/source/gdi/impgraph.cxx | 27 |
2 files changed, 19 insertions, 10 deletions
diff --git a/vcl/inc/impgraph.hxx b/vcl/inc/impgraph.hxx index 0653c82d4bae..6ba07295f9a3 100644 --- a/vcl/inc/impgraph.hxx +++ b/vcl/inc/impgraph.hxx @@ -43,7 +43,7 @@ struct ImpSwapInfo class OutputDevice; class GfxLink; -struct ImpSwapFile; +class ImpSwapFile; class GraphicConversionParameters; class ImpGraphic; diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx index d4634f1c58ca..9eb42fec39e8 100644 --- a/vcl/source/gdi/impgraph.cxx +++ b/vcl/source/gdi/impgraph.cxx @@ -67,21 +67,32 @@ constexpr sal_uInt32 constPdfMagic((sal_uInt32('s') << 24) | (sal_uInt32('v') << using namespace com::sun::star; -struct ImpSwapFile +class ImpSwapFile { - INetURLObject aSwapURL; +private: + INetURLObject maSwapURL; OUString maOriginURL; +public: + ImpSwapFile(INetURLObject const & aSwapURL, OUString const & rOriginURL) + : maSwapURL(aSwapURL) + , maOriginURL(rOriginURL) + { + } + ~ImpSwapFile() COVERITY_NOEXCEPT_FALSE { - utl::UCBContentHelper::Kill(aSwapURL.GetMainURL(INetURLObject::DecodeMechanism::NONE)); + utl::UCBContentHelper::Kill(maSwapURL.GetMainURL(INetURLObject::DecodeMechanism::NONE)); } + + INetURLObject getSwapURL() { return maSwapURL; } + OUString const & getOriginURL() { return maOriginURL; } }; OUString ImpGraphic::getSwapFileURL() { if (mpSwapFile) - return mpSwapFile->aSwapURL.GetMainURL(INetURLObject::DecodeMechanism::NONE); + return mpSwapFile->getSwapURL().GetMainURL(INetURLObject::DecodeMechanism::NONE); return OUString(); } @@ -1344,9 +1355,7 @@ bool ImpGraphic::swapOut() bool bRet = swapOutToStream( xOStm.get() ); if( bRet ) { - mpSwapFile.reset(new ImpSwapFile, o3tl::default_delete<ImpSwapFile>()); - mpSwapFile->aSwapURL = aTmpURL; - mpSwapFile->maOriginURL = getOriginURL(); + mpSwapFile.reset(new ImpSwapFile(aTmpURL, getOriginURL()), o3tl::default_delete<ImpSwapFile>()); } else { @@ -1436,7 +1445,7 @@ bool ImpGraphic::swapIn() OUString aSwapURL; if( mpSwapFile ) - aSwapURL = mpSwapFile->aSwapURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ); + aSwapURL = mpSwapFile->getSwapURL().GetMainURL( INetURLObject::DecodeMechanism::NONE ); if( !aSwapURL.isEmpty() ) { @@ -1457,7 +1466,7 @@ bool ImpGraphic::swapIn() bRet = swapInFromStream(xIStm.get()); xIStm.reset(); if (mpSwapFile) - setOriginURL(mpSwapFile->maOriginURL); + setOriginURL(mpSwapFile->getOriginURL()); mpSwapFile.reset(); } } |