mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 09:55:50 +00:00
gdiplus: Fix GdipGetPropertySize return value when no properties exist.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54748
This commit is contained in:
parent
d84210f00a
commit
1517342fac
|
@ -2760,7 +2760,12 @@ GpStatus WINGDIPAPI GdipGetPropertySize(GpImage *image, UINT *size, UINT *count)
|
|||
}
|
||||
|
||||
reader = ((GpBitmap *)image)->metadata_reader;
|
||||
if (!reader) return PropertyNotFound;
|
||||
if (!reader)
|
||||
{
|
||||
*count = 0;
|
||||
*size = 0;
|
||||
return Ok;
|
||||
}
|
||||
|
||||
hr = IWICMetadataReader_GetCount(reader, &prop_count);
|
||||
if (FAILED(hr)) return hresult_to_status(hr);
|
||||
|
|
|
@ -3804,6 +3804,18 @@ static void test_image_properties(void)
|
|||
"expected property id %#lx, got %#lx\n", prop_id[0], item.data.id);
|
||||
}
|
||||
|
||||
status = GdipGetPropertySize(NULL, &prop_size, &prop_count);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, &prop_size, NULL);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, NULL, &prop_count);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, NULL, NULL);
|
||||
expect(InvalidParameter, status);
|
||||
expected = (image_type == ImageTypeMetafile) ? NotImplemented : Ok;
|
||||
status = GdipGetPropertySize(image, &prop_size, &prop_count);
|
||||
expect(expected, status);
|
||||
|
||||
GdipDisposeImage(image);
|
||||
|
||||
winetest_pop_context();
|
||||
|
@ -4154,14 +4166,6 @@ static void test_GdipGetAllPropertyItems(void)
|
|||
|
||||
HeapFree(GetProcessHeap(), 0, prop_id);
|
||||
|
||||
status = GdipGetPropertySize(NULL, &total_size, &total_count);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, &total_size, NULL);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, NULL, &total_count);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, NULL, NULL);
|
||||
expect(InvalidParameter, status);
|
||||
total_size = 0xdeadbeef;
|
||||
total_count = 0xdeadbeef;
|
||||
status = GdipGetPropertySize(image, &total_size, &total_count);
|
||||
|
@ -4918,14 +4922,6 @@ static void test_gif_properties(void)
|
|||
|
||||
HeapFree(GetProcessHeap(), 0, prop_id);
|
||||
|
||||
status = GdipGetPropertySize(NULL, &total_size, &total_count);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, &total_size, NULL);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, NULL, &total_count);
|
||||
expect(InvalidParameter, status);
|
||||
status = GdipGetPropertySize(image, NULL, NULL);
|
||||
expect(InvalidParameter, status);
|
||||
total_size = 0xdeadbeef;
|
||||
total_count = 0xdeadbeef;
|
||||
status = GdipGetPropertySize(image, &total_size, &total_count);
|
||||
|
|
Loading…
Reference in a new issue