[PATCH 6/9] Fix return value for IImageList_GetIconSize()
Nikolay Sivov
nsivov at codeweavers.com
Sat Aug 21 10:31:29 CDT 2010
---
dlls/comctl32/imagelist.c | 5 +---
dlls/comctl32/tests/imagelist.c | 48 +++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 4 deletions(-)
diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
index 89333bf..9396b95 100644
--- a/dlls/comctl32/imagelist.c
+++ b/dlls/comctl32/imagelist.c
@@ -3431,7 +3431,7 @@ static HRESULT WINAPI ImageListImpl_GetIconSize(IImageList *iface, int *cx,
{
HIMAGELIST This = (HIMAGELIST) iface;
- return ImageList_GetIconSize(This, cx, cy) ? S_OK : E_FAIL;
+ return ImageList_GetIconSize(This, cx, cy) ? S_OK : E_INVALIDARG;
}
static HRESULT WINAPI ImageListImpl_SetIconSize(IImageList *iface, int cx,
@@ -3442,9 +3442,6 @@ static HRESULT WINAPI ImageListImpl_SetIconSize(IImageList *iface, int cx,
static HRESULT WINAPI ImageListImpl_GetImageCount(IImageList *iface, int *pi)
{
- if (!pi)
- return E_FAIL;
-
*pi = ImageList_GetImageCount((HIMAGELIST) iface);
return S_OK;
}
diff --git a/dlls/comctl32/tests/imagelist.c b/dlls/comctl32/tests/imagelist.c
index ff3ada4..c5ea95f 100644
--- a/dlls/comctl32/tests/imagelist.c
+++ b/dlls/comctl32/tests/imagelist.c
@@ -1863,6 +1863,52 @@ if (0)
IImageList_Release(imgl);
}
+static void test_IImageList_GetImageCount(void)
+{
+ IImageList *imgl;
+ HIMAGELIST himl;
+ int count;
+ HRESULT hr;
+
+ himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
+ imgl = (IImageList*)himl;
+
+if (0)
+{
+ /* crashes on native */
+ hr = IImageList_GetImageCount(imgl, NULL);
+}
+
+ count = -1;
+ hr = IImageList_GetImageCount(imgl, &count);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(count == 0, "got %d\n", count);
+
+ IImageList_Release(imgl);
+}
+
+static void test_IImageList_GetIconSize(void)
+{
+ IImageList *imgl;
+ HIMAGELIST himl;
+ int cx, cy;
+ HRESULT hr;
+
+ himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
+ imgl = (IImageList*)himl;
+
+ hr = IImageList_GetIconSize(imgl, NULL, NULL);
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+
+ hr = IImageList_GetIconSize(imgl, &cx, NULL);
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+
+ hr = IImageList_GetIconSize(imgl, NULL, &cy);
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+
+ IImageList_Release(imgl);
+}
+
START_TEST(imagelist)
{
ULONG_PTR ctx_cookie;
@@ -1918,6 +1964,8 @@ START_TEST(imagelist)
test_IImageList_Clone();
test_IImageList_GetBkColor();
test_IImageList_SetBkColor();
+ test_IImageList_GetImageCount();
+ test_IImageList_GetIconSize();
CoUninitialize();
--
1.5.6.5
--------------020200090807090002020503--
More information about the wine-patches
mailing list