summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-09-06 16:34:45 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-09-06 21:39:41 +0200
commitf76a7bcc65343a4aa51d24b13c998bf04031d89f (patch)
treed272dfda5e78e62ed619de64a981b864efeaf73c
parent08e09136a60e176703c08aff8a7a8e8a12d3f9b1 (diff)
return unique_ptr from :svt::GraphicAccess::getImageStream
Change-Id: Ie63259ce826101e553c1cb03a85e7c0ba5f0f9f5 Reviewed-on: https://gerrit.libreoffice.org/78719 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--forms/source/component/imgprod.cxx2
-rw-r--r--include/svtools/imageresourceaccess.hxx2
-rw-r--r--svtools/source/misc/imageresourceaccess.cxx14
3 files changed, 9 insertions, 9 deletions
diff --git a/forms/source/component/imgprod.cxx b/forms/source/component/imgprod.cxx
index 51961d86682d..c1b72d90daed 100644
--- a/forms/source/component/imgprod.cxx
+++ b/forms/source/component/imgprod.cxx
@@ -206,7 +206,7 @@ void ImageProducer::SetImage( const OUString& rPath )
if ( ::svt::GraphicAccess::isSupportedURL( maURL ) )
{
- mpStm.reset( ::svt::GraphicAccess::getImageStream( ::comphelper::getProcessComponentContext(), maURL ) );
+ mpStm = ::svt::GraphicAccess::getImageStream( ::comphelper::getProcessComponentContext(), maURL );
}
else if( !maURL.isEmpty() )
{
diff --git a/include/svtools/imageresourceaccess.hxx b/include/svtools/imageresourceaccess.hxx
index 65806566936d..6adff39ae4aa 100644
--- a/include/svtools/imageresourceaccess.hxx
+++ b/include/svtools/imageresourceaccess.hxx
@@ -50,7 +50,7 @@ SVT_DLLPUBLIC bool isSupportedURL(OUString const & rURL);
the image must be copied), so you are strongly encouraged to only use it
when you know that the image is small enough.
*/
-SVT_DLLPUBLIC SvStream* getImageStream(
+SVT_DLLPUBLIC std::unique_ptr<SvStream> getImageStream(
css::uno::Reference<css::uno::XComponentContext> const & rxContext,
OUString const & rImageResourceURL);
diff --git a/svtools/source/misc/imageresourceaccess.cxx b/svtools/source/misc/imageresourceaccess.cxx
index b8a27dd7a802..829ffdb5feb5 100644
--- a/svtools/source/misc/imageresourceaccess.cxx
+++ b/svtools/source/misc/imageresourceaccess.cxx
@@ -111,9 +111,9 @@ bool isSupportedURL(OUString const & rURL)
|| rURL.startsWith("vnd.sun.star.extension://");
}
-SvStream* getImageStream(uno::Reference<uno::XComponentContext> const & rxContext, OUString const & rImageResourceURL)
+std::unique_ptr<SvStream> getImageStream(uno::Reference<uno::XComponentContext> const & rxContext, OUString const & rImageResourceURL)
{
- SvStream* pReturn = nullptr;
+ std::unique_ptr<SvMemoryStream> pMemBuffer;
try
{
@@ -128,10 +128,10 @@ SvStream* getImageStream(uno::Reference<uno::XComponentContext> const & rxContex
OSL_ENSURE(xGraphic.is(), "GraphicAccess::getImageStream: the provider did not give us a graphic object!");
if (!xGraphic.is())
- return pReturn;
+ return pMemBuffer;
// copy the graphic to an in-memory buffer
- SvMemoryStream* pMemBuffer = new SvMemoryStream;
+ pMemBuffer.reset(new SvMemoryStream);
uno::Reference<io::XStream> xBufferAccess = new StreamSupplier(
new OSeekableInputStreamWrapper(*pMemBuffer),
new OSeekableOutputStreamWrapper(*pMemBuffer));
@@ -144,19 +144,19 @@ SvStream* getImageStream(uno::Reference<uno::XComponentContext> const & rxContex
xProvider->storeGraphic(xGraphic, aMediaProperties);
pMemBuffer->Seek(0);
- pReturn = pMemBuffer;
}
catch (const uno::Exception&)
{
OSL_FAIL("GraphicAccess::getImageStream: caught an exception!");
+ pMemBuffer.reset();
}
- return pReturn;
+ return pMemBuffer;
}
uno::Reference<io::XInputStream> getImageXStream(uno::Reference<uno::XComponentContext> const & rxContext, OUString const & rImageResourceURL)
{
- return new OSeekableInputStreamWrapper(getImageStream(rxContext, rImageResourceURL), true); // take ownership
+ return new OSeekableInputStreamWrapper(getImageStream(rxContext, rImageResourceURL).release(), true); // take ownership
}
} // namespace GraphicAccess