comctl32/imagelist: Remove parameter check from IImageList_Clone().

oldstable
Nikolay Sivov 2010-08-21 19:14:23 +04:00 committed by Alexandre Julliard
parent eb2aae669c
commit 87847aa13c
2 changed files with 25 additions and 4 deletions

View File

@ -3389,15 +3389,13 @@ static HRESULT WINAPI ImageListImpl_Merge(IImageList *iface, int i1,
return ret;
}
static HRESULT WINAPI ImageListImpl_Clone(IImageList *iface, REFIID riid,
PVOID *ppv)
static HRESULT WINAPI ImageListImpl_Clone(IImageList *iface, REFIID riid, void **ppv)
{
HIMAGELIST This = (HIMAGELIST) iface;
HIMAGELIST hNew;
HRESULT ret = E_FAIL;
if (!ppv)
return E_FAIL;
TRACE("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppv);
hNew = ImageList_Duplicate(This);

View File

@ -1778,6 +1778,28 @@ static void test_create(void)
ok(himl == NULL, "got %p\n", himl);
}
static void test_IImageList_Clone(void)
{
IImageList *imgl, *imgl2;
HIMAGELIST himl;
HRESULT hr;
himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
imgl = (IImageList*)himl;
if (0)
{
/* crashes on native */
hr = IImageList_Clone(imgl, &IID_IImageList, NULL);
}
hr = IImageList_Clone(imgl, &IID_IImageList, (void**)&imgl2);
ok(hr == S_OK, "got 0x%08x\n", hr);
IImageList_Release(imgl2);
IImageList_Release(imgl);
}
START_TEST(imagelist)
{
ULONG_PTR ctx_cookie;
@ -1830,6 +1852,7 @@ START_TEST(imagelist)
test_IImageList_Get_SetImageCount();
test_IImageList_Draw();
test_IImageList_Merge();
test_IImageList_Clone();
CoUninitialize();