diff --git a/vcl/source/filter/graphicfilter.cxx b/vcl/source/filter/graphicfilter.cxx index 84cd26f879a5..1a77aae2d973 100644 --- a/vcl/source/filter/graphicfilter.cxx +++ b/vcl/source/filter/graphicfilter.cxx @@ -19,6 +19,7 @@ #include +#include #include #include #include @@ -1337,7 +1338,7 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const OUString& rPat GfxLinkType eLinkType = GfxLinkType::NONE; bool bDummyContext = rGraphic.IsDummyContext(); const bool bLinkSet = rGraphic.IsLink(); - FilterConfigItem* pFilterConfigItem = nullptr; + std::unique_ptr pFilterConfigItem; Size aPreviewSizeHint( 0, 0 ); bool bAllowPartialStreamRead = false; @@ -1726,13 +1727,13 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const OUString& rPat if( nFormat != GRFILTER_FORMAT_DONTKNOW ) { aShortName = GetImportFormatShortName( nFormat ).toAsciiUpperCase(); - if ( ( pFilterConfigItem == nullptr ) && aShortName == "PCD" ) + if ( ( !pFilterConfigItem ) && aShortName == "PCD" ) { OUString aFilterConfigPath( "Office.Common/Filter/Graphic/Import/PCD" ); - pFilterConfigItem = new FilterConfigItem( aFilterConfigPath ); + pFilterConfigItem = o3tl::make_unique( aFilterConfigPath ); } } - if( !(*pFunc)( rIStream, rGraphic, pFilterConfigItem ) ) + if( !(*pFunc)( rIStream, rGraphic, pFilterConfigItem.get() ) ) nStatus = GRFILTER_FORMATERROR; else { @@ -1790,7 +1791,6 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const OUString& rPat rGraphic.Clear(); } - delete pFilterConfigItem; return nStatus; }