[PATCH 3/3] windowscodecs: Test with SHCreateMemStream

Viktor Semykin thesame.ml at gmail.com
Thu Mar 30 11:52:14 CDT 2017


SHCreateMemStream takes less code to inialize and is preferred over
CreateStreamOnHGlobal according to documentation.

Signed-off-by: Viktor Semykin <thesame.ml at gmail.com>
---
 dlls/windowscodecs/tests/Makefile.in |  2 +-
 dlls/windowscodecs/tests/pngformat.c | 12 +++---------
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/dlls/windowscodecs/tests/Makefile.in b/dlls/windowscodecs/tests/Makefile.in
index e11d184a84..e006e3d878 100644
--- a/dlls/windowscodecs/tests/Makefile.in
+++ b/dlls/windowscodecs/tests/Makefile.in
@@ -1,5 +1,5 @@
 TESTDLL   = windowscodecs.dll
-IMPORTS   = windowscodecs oleaut32 ole32 user32 gdi32
+IMPORTS   = windowscodecs oleaut32 ole32 user32 gdi32 shlwapi
 
 C_SRCS = \
 	bitmap.c \
diff --git a/dlls/windowscodecs/tests/pngformat.c b/dlls/windowscodecs/tests/pngformat.c
index 225eef0c3b..18304a5b5e 100644
--- a/dlls/windowscodecs/tests/pngformat.c
+++ b/dlls/windowscodecs/tests/pngformat.c
@@ -25,6 +25,7 @@
 #include "windef.h"
 #include "wincodec.h"
 #include "wine/test.h"
+#include "shlwapi.h"
 
 /* 1x1 pixel PNG image */
 static const char png_no_color_profile[] = {
@@ -277,8 +278,6 @@ static IWICImagingFactory *factory;
 
 static IWICBitmapDecoder *create_decoder(const void *image_data, UINT image_size)
 {
-    HGLOBAL hmem;
-    BYTE *data;
     HRESULT hr;
     IWICBitmapDecoder *decoder = NULL;
     IStream *stream;
@@ -287,13 +286,8 @@ static IWICBitmapDecoder *create_decoder(const void *image_data, UINT image_size
     ULARGE_INTEGER pos;
     LARGE_INTEGER zero;
 
-    hmem = GlobalAlloc(0, image_size);
-    data = GlobalLock(hmem);
-    memcpy(data, image_data, image_size);
-    GlobalUnlock(hmem);
-
-    hr = CreateStreamOnHGlobal(hmem, TRUE, &stream);
-    ok(hr == S_OK, "CreateStreamOnHGlobal error %#x\n", hr);
+    stream = SHCreateMemStream (image_data, image_size);
+    ok(stream != NULL, "SHCreateMemStream error\n");
 
     hr = IWICImagingFactory_CreateDecoderFromStream(factory, stream, NULL, 0, &decoder);
     ok(hr == S_OK, "CreateDecoderFromStream error %#x\n", hr);
-- 
2.12.1




More information about the wine-patches mailing list