Is there a reason to switch to SHCreateMemStream to do this test in particular? If not, it would probably make more sense as a separate cleanup project.
On Mon, Mar 27, 2017 at 3:09 PM, Viktor Semykin thesame.ml@gmail.com wrote:
Signed-off-by: Viktor Semykin thesame.ml@gmail.com
dlls/windowscodecs/tests/Makefile.in | 2 +- dlls/windowscodecs/tests/pngformat.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/dlls/windowscodecs/tests/Makefile.in b/dlls/windowscodecs/tests/Makefile.in index e11d184..e006e3d 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 34cb533..20b6e93 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,21 +278,16 @@ 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; GUID format; LONG refcount;
- 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);
@@ -302,6 +298,11 @@ static IWICBitmapDecoder *create_decoder(const void *image_data, UINT image_size ok(IsEqualGUID(&format, &GUID_ContainerFormatPng), "wrong container format %s\n", wine_dbgstr_guid(&format));
- zero.QuadPart = 0;
- IStream_Seek (stream, zero, STREAM_SEEK_CUR, &pos);
- todo_wine ok(pos.QuadPart < image_size, "seek beyond the end of stream: %lu >= %u\n",
pos.QuadPart, image_size);
- refcount = IStream_Release(stream); ok(refcount > 0, "expected stream refcount > 0\n");
-- 2.12.1
No, there's no such a reason. This test would pass with HGLOBAL as well. What should I do in this situation? Would it better to leave it as it used to be?
On 29/03/17 20:54, Vincent Povirk wrote:
Is there a reason to switch to SHCreateMemStream to do this test in particular? If not, it would probably make more sense as a separate cleanup project.
On Mon, Mar 27, 2017 at 3:09 PM, Viktor Semykin thesame.ml@gmail.com wrote:
Signed-off-by: Viktor Semykin thesame.ml@gmail.com
dlls/windowscodecs/tests/Makefile.in | 2 +- dlls/windowscodecs/tests/pngformat.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/dlls/windowscodecs/tests/Makefile.in b/dlls/windowscodecs/tests/Makefile.in index e11d184..e006e3d 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 34cb533..20b6e93 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,21 +278,16 @@ 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; GUID format; LONG refcount;
- 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);
@@ -302,6 +298,11 @@ static IWICBitmapDecoder *create_decoder(const void *image_data, UINT image_size ok(IsEqualGUID(&format, &GUID_ContainerFormatPng), "wrong container format %s\n", wine_dbgstr_guid(&format));
- zero.QuadPart = 0;
- IStream_Seek (stream, zero, STREAM_SEEK_CUR, &pos);
- todo_wine ok(pos.QuadPart < image_size, "seek beyond the end of stream: %lu >= %u\n",
pos.QuadPart, image_size);
refcount = IStream_Release(stream); ok(refcount > 0, "expected stream refcount > 0\n");
-- 2.12.1
I think you should either split the patch, or leave it using HGLOBAL.
On Wed, Mar 29, 2017 at 11:12 PM, Viktor Semykin thesame.ml@gmail.com wrote:
No, there's no such a reason. This test would pass with HGLOBAL as well. What should I do in this situation? Would it better to leave it as it used to be?
On 29/03/17 20:54, Vincent Povirk wrote:
Is there a reason to switch to SHCreateMemStream to do this test in particular? If not, it would probably make more sense as a separate cleanup project.
On Mon, Mar 27, 2017 at 3:09 PM, Viktor Semykin thesame.ml@gmail.com wrote:
Signed-off-by: Viktor Semykin thesame.ml@gmail.com
dlls/windowscodecs/tests/Makefile.in | 2 +- dlls/windowscodecs/tests/pngformat.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/dlls/windowscodecs/tests/Makefile.in b/dlls/windowscodecs/tests/Makefile.in index e11d184..e006e3d 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 34cb533..20b6e93 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,21 +278,16 @@ 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; GUID format; LONG refcount;
- 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); @@ -302,6 +298,11 @@ static IWICBitmapDecoder *create_decoder(const void *image_data, UINT image_size ok(IsEqualGUID(&format, &GUID_ContainerFormatPng), "wrong container format %s\n", wine_dbgstr_guid(&format));
- zero.QuadPart = 0;
- IStream_Seek (stream, zero, STREAM_SEEK_CUR, &pos);
- todo_wine ok(pos.QuadPart < image_size, "seek beyond the end of
stream: %lu >= %u\n",
pos.QuadPart, image_size);
refcount = IStream_Release(stream); ok(refcount > 0, "expected stream refcount > 0\n");
-- 2.12.1
-- best, Viktor.
Okay, I split the patch and put it in the tail of the series. It's up to you to accept it or not.
On 30/03/17 03:57, Vincent Povirk wrote:
I think you should either split the patch, or leave it using HGLOBAL.
On Wed, Mar 29, 2017 at 11:12 PM, Viktor Semykin thesame.ml@gmail.com wrote:
No, there's no such a reason. This test would pass with HGLOBAL as well. What should I do in this situation? Would it better to leave it as it used to be?
On 29/03/17 20:54, Vincent Povirk wrote:
Is there a reason to switch to SHCreateMemStream to do this test in particular? If not, it would probably make more sense as a separate cleanup project.
On Mon, Mar 27, 2017 at 3:09 PM, Viktor Semykin thesame.ml@gmail.com wrote:
Signed-off-by: Viktor Semykin thesame.ml@gmail.com
dlls/windowscodecs/tests/Makefile.in | 2 +- dlls/windowscodecs/tests/pngformat.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/dlls/windowscodecs/tests/Makefile.in b/dlls/windowscodecs/tests/Makefile.in index e11d184..e006e3d 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 34cb533..20b6e93 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,21 +278,16 @@ 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; GUID format; LONG refcount;
- 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); @@ -302,6 +298,11 @@ static IWICBitmapDecoder *create_decoder(const void *image_data, UINT image_size ok(IsEqualGUID(&format, &GUID_ContainerFormatPng), "wrong container format %s\n", wine_dbgstr_guid(&format));
- zero.QuadPart = 0;
- IStream_Seek (stream, zero, STREAM_SEEK_CUR, &pos);
- todo_wine ok(pos.QuadPart < image_size, "seek beyond the end of
stream: %lu >= %u\n",
pos.QuadPart, image_size);
refcount = IStream_Release(stream); ok(refcount > 0, "expected stream refcount > 0\n");
-- 2.12.1
-- best, Viktor.