Rémi Bernon : windowscodecs: Use IWICComponentFactory_CreateStream in GetReaderByIndex.
Alexandre Julliard
julliard at winehq.org
Fri Jan 22 15:59:14 CST 2021
Module: wine
Branch: master
Commit: 3c6cf6ef2c3c919ef82de28a634a22f70ce8312a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=3c6cf6ef2c3c919ef82de28a634a22f70ce8312a
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Wed Jan 20 10:30:06 2021 +0100
windowscodecs: Use IWICComponentFactory_CreateStream in GetReaderByIndex.
Instead of StreamImpl_Create.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Esme Povirk <esme at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/windowscodecs/decoder.c | 25 +++++++++++--------------
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/dlls/windowscodecs/decoder.c b/dlls/windowscodecs/decoder.c
index 5970a44cd53..b05d50dfea9 100644
--- a/dlls/windowscodecs/decoder.c
+++ b/dlls/windowscodecs/decoder.c
@@ -595,7 +595,7 @@ static HRESULT WINAPI CommonDecoderFrame_Block_GetReaderByIndex(IWICMetadataBloc
{
CommonDecoderFrame *This = impl_from_IWICMetadataBlockReader(iface);
HRESULT hr;
- IWICComponentFactory* factory;
+ IWICComponentFactory* factory = NULL;
IWICStream* stream;
TRACE("%p,%d,%p\n", iface, nIndex, ppIMetadataReader);
@@ -609,7 +609,10 @@ static HRESULT WINAPI CommonDecoderFrame_Block_GetReaderByIndex(IWICMetadataBloc
hr = E_INVALIDARG;
if (SUCCEEDED(hr))
- hr = StreamImpl_Create(&stream);
+ hr = create_instance(&CLSID_WICImagingFactory, &IID_IWICComponentFactory, (void**)&factory);
+
+ if (SUCCEEDED(hr))
+ hr = IWICComponentFactory_CreateStream(factory, &stream);
if (SUCCEEDED(hr))
{
@@ -664,23 +667,17 @@ static HRESULT WINAPI CommonDecoderFrame_Block_GetReaderByIndex(IWICMetadataBloc
}
else
{
- if (SUCCEEDED(hr))
- hr = create_instance(&CLSID_WICImagingFactory, &IID_IWICComponentFactory, (void**)&factory);
-
- if (SUCCEEDED(hr))
- {
- hr = IWICComponentFactory_CreateMetadataReaderFromContainer(factory,
- &This->parent->decoder_info.block_format, NULL,
- This->metadata_blocks[nIndex].options & DECODER_BLOCK_OPTION_MASK,
- (IStream*)stream, ppIMetadataReader);
-
- IWICComponentFactory_Release(factory);
- }
+ hr = IWICComponentFactory_CreateMetadataReaderFromContainer(factory,
+ &This->parent->decoder_info.block_format, NULL,
+ This->metadata_blocks[nIndex].options & DECODER_BLOCK_OPTION_MASK,
+ (IStream*)stream, ppIMetadataReader);
}
IWICStream_Release(stream);
}
+ if (factory) IWICComponentFactory_Release(factory);
+
if (FAILED(hr))
*ppIMetadataReader = NULL;
More information about the wine-cvs
mailing list