Wine-devel
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
December 2017
- 60 participants
- 368 discussions
22 Dec '17
Signed-off-by: Akihiro Sagawa <sagawa.aki(a)gmail.com>
---
include/commctrl.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
1
0
[PATCH] comctl32/tests: Make sure v6 module is used when running tests, run more tests with v6 module
by Nikolay Sivov 22 Dec '17
by Nikolay Sivov 22 Dec '17
22 Dec '17
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/comctl32/tests/imagelist.c | 619 +++++++++++++++++++---------------------
1 file changed, 291 insertions(+), 328 deletions(-)
diff --git a/dlls/comctl32/tests/imagelist.c b/dlls/comctl32/tests/imagelist.c
index a489176e01..566b3b5a83 100644
--- a/dlls/comctl32/tests/imagelist.c
+++ b/dlls/comctl32/tests/imagelist.c
@@ -61,6 +61,7 @@ typedef struct _ILHEAD
#include "poppack.h"
static HIMAGELIST (WINAPI *pImageList_Create)(int, int, UINT, int, int);
+static BOOL (WINAPI *pImageList_Destroy)(HIMAGELIST);
static int (WINAPI *pImageList_Add)(HIMAGELIST, HBITMAP, HBITMAP);
static BOOL (WINAPI *pImageList_DrawIndirect)(IMAGELISTDRAWPARAMS*);
static BOOL (WINAPI *pImageList_SetImageCount)(HIMAGELIST,UINT);
@@ -69,6 +70,21 @@ static HRESULT (WINAPI *pImageList_CoCreateInstance)(REFCLSID,const IUnknown *,
static HRESULT (WINAPI *pHIMAGELIST_QueryInterface)(HIMAGELIST,REFIID,void **);
static int (WINAPI *pImageList_SetColorTable)(HIMAGELIST,int,int,RGBQUAD*);
static DWORD (WINAPI *pImageList_GetFlags)(HIMAGELIST);
+static BOOL (WINAPI *pImageList_BeginDrag)(HIMAGELIST, int, int, int);
+static HIMAGELIST (WINAPI *pImageList_GetDragImage)(POINT *, POINT *);
+static void (WINAPI *pImageList_EndDrag)(void);
+static INT (WINAPI *pImageList_GetImageCount)(HIMAGELIST);
+static BOOL (WINAPI *pImageList_SetDragCursorImage)(HIMAGELIST, int, int, int);
+static BOOL (WINAPI *pImageList_GetIconSize)(HIMAGELIST, int *, int *);
+static BOOL (WINAPI *pImageList_Remove)(HIMAGELIST, int);
+static INT (WINAPI *pImageList_ReplaceIcon)(HIMAGELIST, int, HICON);
+static BOOL (WINAPI *pImageList_Replace)(HIMAGELIST, int, HBITMAP, HBITMAP);
+static HIMAGELIST (WINAPI *pImageList_Merge)(HIMAGELIST, int, HIMAGELIST, int, int, int);
+static BOOL (WINAPI *pImageList_GetImageInfo)(HIMAGELIST, int, IMAGEINFO *);
+static BOOL (WINAPI *pImageList_Write)(HIMAGELIST, IStream *);
+static HIMAGELIST (WINAPI *pImageList_Read)(IStream *);
+static BOOL (WINAPI *pImageList_Copy)(HIMAGELIST, int, HIMAGELIST, int, UINT);
+static HIMAGELIST (WINAPI *pImageList_LoadImageW)(HINSTANCE, LPCWSTR, int, int, COLORREF, UINT, UINT);
static HINSTANCE hinst;
@@ -125,14 +141,16 @@ static const BYTE bitmap_bits[48*48/8] =
static HIMAGELIST createImageList(int cx, int cy)
{
/* Create an ImageList and put an image into it */
- HIMAGELIST himl = ImageList_Create(cx, cy, ILC_COLOR, 1, 1);
+ HIMAGELIST himl = pImageList_Create(cx, cy, ILC_COLOR, 1, 1);
HBITMAP hbm = CreateBitmap(48, 48, 1, 1, bitmap_bits);
- ImageList_Add(himl, hbm, NULL);
+
+ ok(himl != NULL, "Failed to create image list, %d x %d.\n", cx, cy);
+ pImageList_Add(himl, hbm, NULL);
DeleteObject(hbm);
return himl;
}
-static HWND create_a_window(void)
+static HWND create_window(void)
{
char className[] = "bmwnd";
char winName[] = "Test Bitmap";
@@ -259,41 +277,41 @@ static void test_begindrag(void)
int count;
POINT hotspot;
- count = ImageList_GetImageCount(himl);
+ count = pImageList_GetImageCount(himl);
ok(count > 2, "Tests need an ImageList with more than 2 images\n");
/* Two BeginDrag() without EndDrag() in between */
- ret = ImageList_BeginDrag(himl, 1, 0, 0);
- drag = ImageList_GetDragImage(NULL, NULL);
+ ret = pImageList_BeginDrag(himl, 1, 0, 0);
+ drag = pImageList_GetDragImage(NULL, NULL);
ok(ret && drag, "ImageList_BeginDrag() failed\n");
- ret = ImageList_BeginDrag(himl, 0, 3, 5);
+ ret = pImageList_BeginDrag(himl, 0, 3, 5);
ok(!ret, "ImageList_BeginDrag() returned TRUE\n");
- drag = ImageList_GetDragImage(NULL, &hotspot);
+ drag = pImageList_GetDragImage(NULL, &hotspot);
ok(!!drag, "No active ImageList drag left\n");
ok(hotspot.x == 0 && hotspot.y == 0, "New ImageList drag was created\n");
- ImageList_EndDrag();
- drag = ImageList_GetDragImage(NULL, NULL);
+ pImageList_EndDrag();
+ drag = pImageList_GetDragImage(NULL, NULL);
ok(!drag, "ImageList drag was not destroyed\n");
/* Invalid image index */
- ImageList_BeginDrag(himl, 0, 0, 0);
- ret = ImageList_BeginDrag(himl, count, 3, 5);
+ pImageList_BeginDrag(himl, 0, 0, 0);
+ ret = pImageList_BeginDrag(himl, count, 3, 5);
ok(!ret, "ImageList_BeginDrag() returned TRUE\n");
- drag = ImageList_GetDragImage(NULL, &hotspot);
+ drag = pImageList_GetDragImage(NULL, &hotspot);
ok(drag && hotspot.x == 0 && hotspot.y == 0, "Active drag should not have been canceled\n");
- ImageList_EndDrag();
- drag = ImageList_GetDragImage(NULL, NULL);
+ pImageList_EndDrag();
+ drag = pImageList_GetDragImage(NULL, NULL);
ok(!drag, "ImageList drag was not destroyed\n");
/* Invalid negative image indexes succeed */
- ret = ImageList_BeginDrag(himl, -17, 0, 0);
- drag = ImageList_GetDragImage(NULL, NULL);
+ ret = pImageList_BeginDrag(himl, -17, 0, 0);
+ drag = pImageList_GetDragImage(NULL, NULL);
ok(ret && drag, "ImageList drag was created\n");
- ImageList_EndDrag();
- ret = ImageList_BeginDrag(himl, -1, 0, 0);
- drag = ImageList_GetDragImage(NULL, NULL);
+ pImageList_EndDrag();
+ ret = pImageList_BeginDrag(himl, -1, 0, 0);
+ drag = pImageList_GetDragImage(NULL, NULL);
ok(ret && drag, "ImageList drag was created\n");
- ImageList_EndDrag();
- ImageList_Destroy(himl);
+ pImageList_EndDrag();
+ pImageList_Destroy(himl);
}
static void test_hotspot(void)
@@ -317,7 +335,7 @@ static void test_hotspot(void)
int i, j, ret;
HIMAGELIST himl1 = createImageList(SIZEX1, SIZEY1);
HIMAGELIST himl2 = createImageList(SIZEX2, SIZEY2);
- HWND hwnd = create_a_window();
+ HWND hwnd = create_window();
for (i = 0; i < HOTSPOTS_MAX; i++) {
@@ -331,25 +349,25 @@ static void test_hotspot(void)
HIMAGELIST himlNew;
POINT ppt;
- ret = ImageList_BeginDrag(himl1, 0, dx1, dy1);
+ ret = pImageList_BeginDrag(himl1, 0, dx1, dy1);
ok(ret != 0, "BeginDrag failed for { %d, %d }\n", dx1, dy1);
sprintf(loc, "BeginDrag (%d,%d)\n", i, j);
show_image(hwnd, himl1, 0, max(SIZEX1, SIZEY1), loc, TRUE);
/* check merging the dragged image with a second image */
- ret = ImageList_SetDragCursorImage(himl2, 0, dx2, dy2);
+ ret = pImageList_SetDragCursorImage(himl2, 0, dx2, dy2);
ok(ret != 0, "SetDragCursorImage failed for {%d, %d}{%d, %d}\n",
dx1, dy1, dx2, dy2);
sprintf(loc, "SetDragCursorImage (%d,%d)\n", i, j);
show_image(hwnd, himl2, 0, max(SIZEX2, SIZEY2), loc, TRUE);
/* check new hotspot, it should be the same like the old one */
- himlNew = ImageList_GetDragImage(NULL, &ppt);
+ himlNew = pImageList_GetDragImage(NULL, &ppt);
ok(ppt.x == dx1 && ppt.y == dy1,
"Expected drag hotspot [%d,%d] got [%d,%d]\n",
dx1, dy1, ppt.x, ppt.y);
/* check size of new dragged image */
- ImageList_GetIconSize(himlNew, &newx, &newy);
+ pImageList_GetIconSize(himlNew, &newx, &newy);
correctx = max(SIZEX1, max(SIZEX2 + dx2, SIZEX1 - dx2));
correcty = max(SIZEY1, max(SIZEY2 + dy2, SIZEY1 - dy2));
ok(newx == correctx && newy == correcty,
@@ -357,7 +375,7 @@ static void test_hotspot(void)
correctx, correcty, newx, newy);
sprintf(loc, "GetDragImage (%d,%d)\n", i, j);
show_image(hwnd, himlNew, 0, max(correctx, correcty), loc, TRUE);
- ImageList_EndDrag();
+ pImageList_EndDrag();
}
}
#undef SIZEX1
@@ -365,8 +383,8 @@ static void test_hotspot(void)
#undef SIZEX2
#undef SIZEY2
#undef HOTSPOTS_MAX
- ImageList_Destroy(himl2);
- ImageList_Destroy(himl1);
+ pImageList_Destroy(himl2);
+ pImageList_Destroy(himl1);
DestroyWindow(hwnd);
}
@@ -379,7 +397,7 @@ static void test_add_remove(void)
HICON hicon3 ;
/* create an imagelist to play with */
- himl = ImageList_Create(84, 84, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(84, 84, ILC_COLOR16, 0, 3);
ok(himl!=0,"failed to create imagelist\n");
/* load the icons to add to the image list */
@@ -391,41 +409,41 @@ static void test_add_remove(void)
ok(hicon3 != 0, "no hicon3\n");
/* remove when nothing exists */
- ok(!ImageList_Remove(himl,0),"removed nonexistent icon\n");
+ ok(!pImageList_Remove(himl, 0), "Removed nonexistent icon.\n");
/* removing everything from an empty imagelist should succeed */
- ok(ImageList_RemoveAll(himl),"removed nonexistent icon\n");
+ ok(pImageList_Remove(himl, -1), "Removed nonexistent icon\n");
/* add three */
- ok(0==ImageList_AddIcon(himl, hicon1),"failed to add icon1\n");
- ok(1==ImageList_AddIcon(himl, hicon2),"failed to add icon2\n");
- ok(2==ImageList_AddIcon(himl, hicon3),"failed to add icon3\n");
+ ok(0 == pImageList_ReplaceIcon(himl, -1, hicon1), "Failed to add icon1.\n");
+ ok(1 == pImageList_ReplaceIcon(himl, -1, hicon2), "Failed to add icon2.\n");
+ ok(2 == pImageList_ReplaceIcon(himl, -1, hicon3), "Failed to add icon3.\n");
/* remove an index out of range */
- ok(!ImageList_Remove(himl,4711),"removed nonexistent icon\n");
+ ok(!pImageList_Remove(himl, 4711), "removed nonexistent icon\n");
/* remove three */
- ok(ImageList_Remove(himl,0),"can't remove 0\n");
- ok(ImageList_Remove(himl,0),"can't remove 0\n");
- ok(ImageList_Remove(himl,0),"can't remove 0\n");
+ ok(pImageList_Remove(himl, 0), "Can't remove 0\n");
+ ok(pImageList_Remove(himl, 0), "Can't remove 0\n");
+ ok(pImageList_Remove(himl, 0), "Can't remove 0\n");
/* remove one extra */
- ok(!ImageList_Remove(himl,0),"removed nonexistent icon\n");
+ ok(!pImageList_Remove(himl, 0), "Removed nonexistent icon.\n");
/* destroy it */
- ok(ImageList_Destroy(himl),"destroy imagelist failed\n");
+ ok(pImageList_Destroy(himl), "Failed to destroy imagelist.\n");
- ok(-1==ImageList_AddIcon((HIMAGELIST)0xdeadbeef, hicon1),"don't crash on bad handle\n");
+ ok(-1 == pImageList_ReplaceIcon((HIMAGELIST)0xdeadbeef, -1, hicon1), "Don't crash on bad handle\n");
- ok(DestroyIcon(hicon1),"icon 1 wasn't deleted\n");
- ok(DestroyIcon(hicon2),"icon 2 wasn't deleted\n");
- ok(DestroyIcon(hicon3),"icon 3 wasn't deleted\n");
+ ok(DestroyIcon(hicon1), "Failed to destroy icon 1.\n");
+ ok(DestroyIcon(hicon2), "Failed to destroy icon 2.\n");
+ ok(DestroyIcon(hicon3), "Failed to destroy icon 3.\n");
}
static void test_imagecount(void)
{
HIMAGELIST himl;
- ok(0==ImageList_GetImageCount((HIMAGELIST)0xdeadbeef),"don't crash on bad handle\n");
+ ok(0 == pImageList_GetImageCount((HIMAGELIST)0xdeadbeef), "don't crash on bad handle\n");
if (!pImageList_SetImageCount)
{
@@ -433,17 +451,17 @@ static void test_imagecount(void)
return;
}
- himl = ImageList_Create(84, 84, ILC_COLOR16, 0, 3);
- ok(himl!=0,"failed to create imagelist\n");
+ himl = pImageList_Create(84, 84, ILC_COLOR16, 0, 3);
+ ok(himl != 0, "Failed to create imagelist.\n");
ok(pImageList_SetImageCount(himl, 3), "couldn't increase image count\n");
- ok(ImageList_GetImageCount(himl) == 3, "invalid image count after increase\n");
+ ok(pImageList_GetImageCount(himl) == 3, "invalid image count after increase\n");
ok(pImageList_SetImageCount(himl, 1), "couldn't decrease image count\n");
- ok(ImageList_GetImageCount(himl) == 1, "invalid image count after decrease to 1\n");
+ ok(pImageList_GetImageCount(himl) == 1, "invalid image count after decrease to 1\n");
ok(pImageList_SetImageCount(himl, 0), "couldn't decrease image count\n");
- ok(ImageList_GetImageCount(himl) == 0, "invalid image count after decrease to 0\n");
+ ok(pImageList_GetImageCount(himl) == 0, "invalid image count after decrease to 0\n");
- ok(ImageList_Destroy(himl), "destroy imagelist failed\n");
+ ok(pImageList_Destroy(himl), "Failed to destroy imagelist.\n");
}
static void test_DrawIndirect(void)
@@ -464,13 +482,13 @@ static void test_DrawIndirect(void)
return;
}
- hwndfortest = create_a_window();
+ hwndfortest = create_window();
hdc = GetDC(hwndfortest);
ok(hdc!=NULL, "couldn't get DC\n");
/* create an imagelist to play with */
- himl = ImageList_Create(48, 48, ILC_COLOR16, 0, 3);
- ok(himl!=0,"failed to create imagelist\n");
+ himl = pImageList_Create(48, 48, ILC_COLOR16, 0, 3);
+ ok(himl != 0, "Failed to create imagelist.\n");
/* load the icons to add to the image list */
hbm1 = CreateBitmap(48, 48, 1, 1, bitmap_bits);
@@ -481,14 +499,14 @@ static void test_DrawIndirect(void)
ok(hbm3 != 0, "no bitmap 3\n");
/* add three */
- ok(0==ImageList_Add(himl, hbm1, 0),"failed to add bitmap 1\n");
- ok(1==ImageList_Add(himl, hbm2, 0),"failed to add bitmap 2\n");
+ ok(0 == ImageList_Add(himl, hbm1, 0),"failed to add bitmap 1\n");
+ ok(1 == ImageList_Add(himl, hbm2, 0),"failed to add bitmap 2\n");
if (pImageList_SetImageCount)
{
ok(pImageList_SetImageCount(himl,3),"Setimage count failed\n");
/*ok(2==ImageList_Add(himl, hbm3, NULL),"failed to add bitmap 3\n"); */
- ok(ImageList_Replace(himl, 2, hbm3, 0),"failed to replace bitmap 3\n");
+ ok(pImageList_Replace(himl, 2, hbm3, 0),"failed to replace bitmap 3\n");
}
memset(&imldp, 0, sizeof (imldp));
@@ -517,12 +535,12 @@ static void test_DrawIndirect(void)
ok(!pImageList_DrawIndirect(&imldp),"should fail\n");
/* remove three */
- ok(ImageList_Remove(himl, 0), "removing 1st bitmap\n");
- ok(ImageList_Remove(himl, 0), "removing 2nd bitmap\n");
- ok(ImageList_Remove(himl, 0), "removing 3rd bitmap\n");
+ ok(pImageList_Remove(himl, 0), "removing 1st bitmap\n");
+ ok(pImageList_Remove(himl, 0), "removing 2nd bitmap\n");
+ ok(pImageList_Remove(himl, 0), "removing 3rd bitmap\n");
/* destroy it */
- ok(ImageList_Destroy(himl),"destroy imagelist failed\n");
+ ok(pImageList_Destroy(himl), "Failed to destroy imagelist.\n");
/* bitmaps should not be deleted by the imagelist */
ok(DeleteObject(hbm1),"bitmap 1 can't be deleted\n");
@@ -563,12 +581,12 @@ static void test_merge_colors(void)
for (i = 0; i < 8; i++)
{
- himl[i] = ImageList_Create(32, 32, sizes[i], 0, 3);
+ himl[i] = pImageList_Create(32, 32, sizes[i], 0, 3);
ok(himl[i] != NULL, "failed to create himl[%d]\n", i);
- ok(0 == ImageList_AddIcon(himl[i], hicon1), "add icon1 to himl[%d] failed\n", i);
+ ok(0 == pImageList_ReplaceIcon(himl[i], -1, hicon1), "Failed to add icon1 to himl[%d].\n", i);
if (i == 0 || i == 1 || i == 7)
{
- ImageList_GetImageInfo(himl[i], 0, &info);
+ pImageList_GetImageInfo(himl[i], 0, &info);
sizes[i] = get_color_format(info.hbmImage);
}
}
@@ -576,10 +594,10 @@ static void test_merge_colors(void)
for (i = 0; i < 8; i++)
for (j = 0; j < 8; j++)
{
- hmerge = ImageList_Merge(himl[i], 0, himl[j], 0, 0, 0);
+ hmerge = pImageList_Merge(himl[i], 0, himl[j], 0, 0, 0);
ok(hmerge != NULL, "merge himl[%d], himl[%d] failed\n", i, j);
- ImageList_GetImageInfo(hmerge, 0, &info);
+ pImageList_GetImageInfo(hmerge, 0, &info);
bpp = get_color_format(info.hbmImage);
/* ILC_COLOR[X] is defined as [X] */
if (i == 4 && j == 7)
@@ -590,23 +608,23 @@ static void test_merge_colors(void)
"wrong biBitCount %d when merging lists %d (%d) and %d (%d)\n", bpp, i, sizes[i], j, sizes[j]);
ok(info.hbmMask != 0, "Imagelist merged from %d and %d had no mask\n", i, j);
- if (hmerge) ImageList_Destroy(hmerge);
+ pImageList_Destroy(hmerge);
}
for (i = 0; i < 8; i++)
- ImageList_Destroy(himl[i]);
+ pImageList_Destroy(himl[i]);
}
static void test_merge(void)
{
HIMAGELIST himl1, himl2, hmerge;
HICON hicon1;
- HWND hwnd = create_a_window();
+ HWND hwnd = create_window();
- himl1 = ImageList_Create(32,32,0,0,3);
+ himl1 = pImageList_Create(32, 32, 0, 0, 3);
ok(himl1 != NULL,"failed to create himl1\n");
- himl2 = ImageList_Create(32,32,0,0,3);
+ himl2 = pImageList_Create(32, 32, 0, 0, 3);
ok(himl2 != NULL,"failed to create himl2\n");
hicon1 = CreateIcon(hinst, 32, 32, 1, 1, icon_bits, icon_bits);
@@ -615,60 +633,60 @@ static void test_merge(void)
if (!himl1 || !himl2 || !hicon1)
return;
- ok(0==ImageList_AddIcon(himl2, hicon1),"add icon1 to himl2 failed\n");
+ ok(0 == pImageList_ReplaceIcon(himl2, -1, hicon1), "Failed to add icon1 to himl2.\n");
check_bits(hwnd, himl2, 0, 32, icon_bits, "add icon1 to himl2");
/* If himl1 has no images, merge still succeeds */
- hmerge = ImageList_Merge(himl1, -1, himl2, 0, 0, 0);
+ hmerge = pImageList_Merge(himl1, -1, himl2, 0, 0, 0);
ok(hmerge != NULL, "merge himl1,-1 failed\n");
check_bits(hwnd, hmerge, 0, 32, empty_bits, "merge himl1,-1");
- if (hmerge) ImageList_Destroy(hmerge);
+ pImageList_Destroy(hmerge);
- hmerge = ImageList_Merge(himl1, 0, himl2, 0, 0, 0);
+ hmerge = pImageList_Merge(himl1, 0, himl2, 0, 0, 0);
ok(hmerge != NULL,"merge himl1,0 failed\n");
check_bits(hwnd, hmerge, 0, 32, empty_bits, "merge himl1,0");
- if (hmerge) ImageList_Destroy(hmerge);
+ pImageList_Destroy(hmerge);
/* Same happens if himl2 is empty */
- ImageList_Destroy(himl2);
- himl2 = ImageList_Create(32,32,0,0,3);
+ pImageList_Destroy(himl2);
+ himl2 = pImageList_Create(32, 32, 0, 0, 3);
ok(himl2 != NULL,"failed to recreate himl2\n");
if (!himl2)
return;
- hmerge = ImageList_Merge(himl1, -1, himl2, -1, 0, 0);
+ hmerge = pImageList_Merge(himl1, -1, himl2, -1, 0, 0);
ok(hmerge != NULL, "merge himl2,-1 failed\n");
check_bits(hwnd, hmerge, 0, 32, empty_bits, "merge himl2,-1");
- if (hmerge) ImageList_Destroy(hmerge);
+ pImageList_Destroy(hmerge);
- hmerge = ImageList_Merge(himl1, -1, himl2, 0, 0, 0);
+ hmerge = pImageList_Merge(himl1, -1, himl2, 0, 0, 0);
ok(hmerge != NULL, "merge himl2,0 failed\n");
check_bits(hwnd, hmerge, 0, 32, empty_bits, "merge himl2,0");
- if (hmerge) ImageList_Destroy(hmerge);
+ pImageList_Destroy(hmerge);
/* Now try merging an image with itself */
- ok(0==ImageList_AddIcon(himl2, hicon1),"re-add icon1 to himl2 failed\n");
+ ok(0 == pImageList_ReplaceIcon(himl2, -1, hicon1), "Failed to re-add icon1 to himl2.\n");
- hmerge = ImageList_Merge(himl2, 0, himl2, 0, 0, 0);
+ hmerge = pImageList_Merge(himl2, 0, himl2, 0, 0, 0);
ok(hmerge != NULL, "merge himl2 with itself failed\n");
check_bits(hwnd, hmerge, 0, 32, empty_bits, "merge himl2 with itself");
- if (hmerge) ImageList_Destroy(hmerge);
+ pImageList_Destroy(hmerge);
/* Try merging 2 different image lists */
- ok(0==ImageList_AddIcon(himl1, hicon1),"add icon1 to himl1 failed\n");
+ ok(0 == pImageList_ReplaceIcon(himl1, -1, hicon1), "Failed to add icon1 to himl1.\n");
- hmerge = ImageList_Merge(himl1, 0, himl2, 0, 0, 0);
+ hmerge = pImageList_Merge(himl1, 0, himl2, 0, 0, 0);
ok(hmerge != NULL, "merge himl1 with himl2 failed\n");
check_bits(hwnd, hmerge, 0, 32, empty_bits, "merge himl1 with himl2");
- if (hmerge) ImageList_Destroy(hmerge);
+ pImageList_Destroy(hmerge);
- hmerge = ImageList_Merge(himl1, 0, himl2, 0, 8, 16);
+ hmerge = pImageList_Merge(himl1, 0, himl2, 0, 8, 16);
ok(hmerge != NULL, "merge himl1 with himl2 8,16 failed\n");
check_bits(hwnd, hmerge, 0, 32, empty_bits, "merge himl1 with himl2, 8,16");
- if (hmerge) ImageList_Destroy(hmerge);
+ pImageList_Destroy(hmerge);
- ImageList_Destroy(himl1);
- ImageList_Destroy(himl2);
+ pImageList_Destroy(himl1);
+ pImageList_Destroy(himl2);
DestroyIcon(hicon1);
DestroyWindow(hwnd);
}
@@ -920,16 +938,16 @@ static void check_iml_data(HIMAGELIST himl, INT cx, INT cy, INT cur, INT max, IN
char *data;
HRESULT hr;
- ret = ImageList_GetImageCount(himl);
+ ret = pImageList_GetImageCount(himl);
ok(ret == cur, "%s: expected image count %d got %d\n", comment, cur, ret);
- ret = ImageList_GetIconSize(himl, &cxx, &cyy);
+ ret = pImageList_GetIconSize(himl, &cxx, &cyy);
ok(ret, "ImageList_GetIconSize failed\n");
ok(cxx == cx, "%s: wrong cx %d (expected %d)\n", comment, cxx, cx);
ok(cyy == cy, "%s: wrong cy %d (expected %d)\n", comment, cyy, cy);
init_memstream(&stream);
- ret = ImageList_Write(himl, &stream.IStream_iface);
+ ret = pImageList_Write(himl, &stream.IStream_iface);
ok(ret, "%s: ImageList_Write failed\n", comment);
hr = GetHGlobalFromStream(stream.stream, &hglobal);
@@ -955,9 +973,9 @@ static void check_iml_data(HIMAGELIST himl, INT cx, INT cy, INT cur, INT max, IN
/* rewind and reconstruct from stream */
mv.QuadPart = 0;
IStream_Seek(stream.stream, mv, STREAM_SEEK_SET, NULL);
- himl2 = ImageList_Read(&stream.IStream_iface);
+ himl2 = pImageList_Read(&stream.IStream_iface);
ok(himl2 != NULL, "%s: Failed to deserialize imagelist\n", comment);
- ImageList_Destroy(himl2);
+ pImageList_Destroy(himl2);
GlobalUnlock(hglobal);
cleanup_memstream(&stream);
@@ -1026,7 +1044,7 @@ static void test_imagelist_storage(void)
HICON icon;
INT ret;
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 1, 1);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 1, 1);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 2, 4, BMP_CX * 4, BMP_CX * 1, ILC_COLOR24, "empty");
@@ -1034,202 +1052,199 @@ static void test_imagelist_storage(void)
image_list_init(himl);
check_iml_data(himl, BMP_CX, BMP_CX, 24, 27, 4, BMP_CX * 4, BMP_CX * 7, ILC_COLOR24, "orig");
- ret = ImageList_Remove(himl, 4);
+ ret = pImageList_Remove(himl, 4);
ok(ret, "ImageList_Remove failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 23, 27, 4, BMP_CX * 4, BMP_CX * 7, ILC_COLOR24, "1");
- ret = ImageList_Remove(himl, 5);
+ ret = pImageList_Remove(himl, 5);
ok(ret, "ImageList_Remove failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 22, 27, 4, BMP_CX * 4, BMP_CX * 7, ILC_COLOR24, "2");
- ret = ImageList_Remove(himl, 6);
+ ret = pImageList_Remove(himl, 6);
ok(ret, "ImageList_Remove failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 21, 27, 4, BMP_CX * 4, BMP_CX * 7, ILC_COLOR24, "3");
- ret = ImageList_Remove(himl, 7);
+ ret = pImageList_Remove(himl, 7);
ok(ret, "ImageList_Remove failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, 4, BMP_CX * 4, BMP_CX * 7, ILC_COLOR24, "4");
- ret = ImageList_Remove(himl, -2);
+ ret = pImageList_Remove(himl, -2);
ok(!ret, "ImageList_Remove(-2) should fail\n");
check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, 4, BMP_CX * 4, BMP_CX * 7, ILC_COLOR24, "5");
- ret = ImageList_Remove(himl, 20);
+ ret = pImageList_Remove(himl, 20);
ok(!ret, "ImageList_Remove(20) should fail\n");
check_iml_data(himl, BMP_CX, BMP_CX, 20, 27, 4, BMP_CX * 4, BMP_CX * 7, ILC_COLOR24, "6");
- ret = ImageList_Remove(himl, -1);
+ ret = pImageList_Remove(himl, -1);
ok(ret, "ImageList_Remove(-1) failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 4, 4, BMP_CX * 4, BMP_CX * 1, ILC_COLOR24, "7");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
/* test ImageList_Create storage allocation */
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 0, 32);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 0, 32);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 1, 32, BMP_CX * 4, BMP_CX * 1, ILC_COLOR24, "init 0 grow 32");
hbm = create_bitmap(BMP_CX * 9, BMP_CX, 0, "9");
- ret = ImageList_Add(himl, hbm, NULL);
+ ret = pImageList_Add(himl, hbm, NULL);
ok(ret == 0, "ImageList_Add returned %d, expected 0\n", ret);
check_iml_data(himl, BMP_CX, BMP_CX, 1, 34, 32, BMP_CX * 4, BMP_CX * 9, ILC_COLOR24, "add 1 x 9");
DeleteObject(hbm);
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 4, 4);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 4, 4);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR24, "init 4 grow 4");
hbm = create_bitmap(BMP_CX, BMP_CX * 9, 0, "9");
- ret = ImageList_Add(himl, hbm, NULL);
+ ret = pImageList_Add(himl, hbm, NULL);
ok(ret == 0, "ImageList_Add returned %d, expected 0\n", ret);
check_iml_data(himl, BMP_CX, BMP_CX, 9, 15, 4, BMP_CX * 4, BMP_CX * 4, ILC_COLOR24, "add 9 x 1");
- ret = ImageList_Add(himl, hbm, NULL);
+ ret = pImageList_Add(himl, hbm, NULL);
ok(ret == 9, "ImageList_Add returned %d, expected 9\n", ret);
check_iml_data(himl, BMP_CX, BMP_CX, 18, 25, 4, BMP_CX * 4, BMP_CX * 7, ILC_COLOR24, "add 9 x 1");
DeleteObject(hbm);
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 207, 209);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 207, 209);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 208, 212, BMP_CX * 4, BMP_CX * 52, ILC_COLOR24, "init 207 grow 209");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 209, 207);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 209, 207);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 210, 208, BMP_CX * 4, BMP_CX * 53, ILC_COLOR24, "init 209 grow 207");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 14, 4);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 14, 4);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 15, 4, BMP_CX * 4, BMP_CX * 4, ILC_COLOR24, "init 14 grow 4");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 5, 9);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 5, 9);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 6, 12, BMP_CX * 4, BMP_CX * 2, ILC_COLOR24, "init 5 grow 9");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 9, 5);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 9, 5);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 10, 8, BMP_CX * 4, BMP_CX * 3, ILC_COLOR24, "init 9 grow 5");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 2, 4);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 2, 4);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 3, 4, BMP_CX * 4, BMP_CX * 1, ILC_COLOR24, "init 2 grow 4");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 4, 2);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24, 4, 2);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR24, "init 4 grow 2");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR8, 4, 2);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR8, 4, 2);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR8, "bpp 8");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4, 4, 2);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4, 4, 2);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR4, "bpp 4");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, 0, 4, 2);
+ himl = pImageList_Create(BMP_CX, BMP_CX, 0, 4, 2);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR4, "bpp default");
icon = CreateIcon(hinst, 32, 32, 1, 1, icon_bits, icon_bits);
- ok( ImageList_AddIcon(himl, icon) == 0,"failed to add icon\n");
- ok( ImageList_AddIcon(himl, icon) == 1,"failed to add icon\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 0, "Failed to add icon.\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 1, "Failed to add icon.\n");
DestroyIcon( icon );
check_iml_data(himl, BMP_CX, BMP_CX, 2, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR4, "bpp default");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24|ILC_MASK, 4, 2);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR24|ILC_MASK, 4, 2);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR24|ILC_MASK,
"bpp 24 + mask");
icon = CreateIcon(hinst, 32, 32, 1, 1, icon_bits, icon_bits);
- ok( ImageList_AddIcon(himl, icon) == 0,"failed to add icon\n");
- ok( ImageList_AddIcon(himl, icon) == 1,"failed to add icon\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 0, "Failed to add icon.\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 1, "Failed to add icon.\n");
DestroyIcon( icon );
- check_iml_data(himl, BMP_CX, BMP_CX, 2, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR24|ILC_MASK,
- "bpp 24 + mask");
- ret = ImageList_Destroy(himl);
+ check_iml_data(himl, BMP_CX, BMP_CX, 2, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR24|ILC_MASK, "bpp 24 + mask");
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 4, 2);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 4, 2);
ok(himl != 0, "ImageList_Create failed\n");
- check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR4|ILC_MASK,
- "bpp 4 + mask");
+ check_iml_data(himl, BMP_CX, BMP_CX, 0, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR4|ILC_MASK, "bpp 4 + mask");
icon = CreateIcon(hinst, 32, 32, 1, 1, icon_bits, icon_bits);
- ok( ImageList_AddIcon(himl, icon) == 0,"failed to add icon\n");
- ok( ImageList_AddIcon(himl, icon) == 1,"failed to add icon\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 0, "Failed to add icon.\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 1, "Failed to add icon.\n");
DestroyIcon( icon );
- check_iml_data(himl, BMP_CX, BMP_CX, 2, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR4|ILC_MASK,
- "bpp 4 + mask");
- ret = ImageList_Destroy(himl);
+ check_iml_data(himl, BMP_CX, BMP_CX, 2, 5, 4, BMP_CX * 4, BMP_CX * 2, ILC_COLOR4|ILC_MASK, "bpp 4 + mask");
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 2, 99);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 2, 99);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 3, 100, BMP_CX * 4, BMP_CX, ILC_COLOR4|ILC_MASK,
"init 2 grow 99");
icon = CreateIcon(hinst, 32, 32, 1, 1, icon_bits, icon_bits);
- ok( ImageList_AddIcon(himl, icon) == 0,"failed to add icon\n");
- ok( ImageList_AddIcon(himl, icon) == 1,"failed to add icon\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 0, "Failed to add icon.\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 1, "Failed to add icon.\n");
check_iml_data(himl, BMP_CX, BMP_CX, 2, 3, 100, BMP_CX * 4, BMP_CX, ILC_COLOR4|ILC_MASK,
"init 2 grow 99 2 icons");
- ok( ImageList_AddIcon(himl, icon) == 2,"failed to add icon\n");
+ ok( pImageList_ReplaceIcon(himl, -1, icon) == 2, "Failed to add icon\n");
DestroyIcon( icon );
check_iml_data(himl, BMP_CX, BMP_CX, 3, 104, 100, BMP_CX * 4, BMP_CX * 104/4, ILC_COLOR4|ILC_MASK,
"init 2 grow 99 3 icons");
- ok( ImageList_Remove(himl, -1) == TRUE,"failed to remove icon\n");
+ ok( pImageList_Remove(himl, -1) == TRUE, "Failed to remove icon.\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 100, 100, BMP_CX * 4, BMP_CX * 100/4, ILC_COLOR4|ILC_MASK,
"init 2 grow 99 empty");
- ok( ImageList_SetImageCount(himl, 22) == TRUE,"failed to set image count\n");
+ ok( pImageList_SetImageCount(himl, 22) == TRUE, "Failed to set image count.\n");
check_iml_data(himl, BMP_CX, BMP_CX, 22, 23, 100, BMP_CX * 4, BMP_CX * 24/4, ILC_COLOR4|ILC_MASK,
"init 2 grow 99 set count 22");
- ok( ImageList_SetImageCount(himl, 0) == TRUE,"failed to set image count\n");
+ ok( pImageList_SetImageCount(himl, 0) == TRUE, "Failed to set image count.\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 1, 100, BMP_CX * 4, BMP_CX, ILC_COLOR4|ILC_MASK,
"init 2 grow 99 set count 0");
- ok( ImageList_SetImageCount(himl, 42) == TRUE,"failed to set image count\n");
+ ok( pImageList_SetImageCount(himl, 42) == TRUE, "Failed to set image count.\n");
check_iml_data(himl, BMP_CX, BMP_CX, 42, 43, 100, BMP_CX * 4, BMP_CX * 44/4, ILC_COLOR4|ILC_MASK,
"init 2 grow 99 set count 42");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 2, 65536+12);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 2, 65536+12);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 3, 12, BMP_CX * 4, BMP_CX, ILC_COLOR4|ILC_MASK,
"init 2 grow 65536+12");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 2, 65535);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 2, 65535);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 3, 0, BMP_CX * 4, BMP_CX, ILC_COLOR4|ILC_MASK,
"init 2 grow 65535");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
- himl = ImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 2, -20);
+ himl = pImageList_Create(BMP_CX, BMP_CX, ILC_COLOR4|ILC_MASK, 2, -20);
ok(himl != 0, "ImageList_Create failed\n");
check_iml_data(himl, BMP_CX, BMP_CX, 0, 3, 4, BMP_CX * 4, BMP_CX, ILC_COLOR4|ILC_MASK,
"init 2 grow -20");
- ret = ImageList_Destroy(himl);
+ ret = pImageList_Destroy(himl);
ok(ret, "ImageList_Destroy failed\n");
}
@@ -1566,7 +1581,7 @@ static void test_iimagelist(void)
if (hr == S_OK)
IImageList_Release(imgl);
- ImageList_Destroy(himl);
+ pImageList_Destroy(himl);
/* IImageList2 */
hr = pImageList_CoCreateInstance(&CLSID_ImageList, NULL, &IID_IImageList2, (void**)&imagelist);
@@ -1579,81 +1594,6 @@ static void test_iimagelist(void)
IImageList2_Release(imagelist);
}
-static void test_hotspot_v6(void)
-{
- struct hotspot {
- int dx;
- int dy;
- };
-
-#define SIZEX1 47
-#define SIZEY1 31
-#define SIZEX2 11
-#define SIZEY2 17
-#define HOTSPOTS_MAX 4 /* Number of entries in hotspots */
- static const struct hotspot hotspots[HOTSPOTS_MAX] = {
- { 10, 7 },
- { SIZEX1, SIZEY1 },
- { -9, -8 },
- { -7, 35 }
- };
- int i, j;
- HIMAGELIST himl1 = createImageList(SIZEX1, SIZEY1);
- HIMAGELIST himl2 = createImageList(SIZEX2, SIZEY2);
- IImageList *imgl1, *imgl2;
- HRESULT hr;
-
- /* cast to IImageList */
- imgl1 = (IImageList *) himl1;
- imgl2 = (IImageList *) himl2;
-
- for (i = 0; i < HOTSPOTS_MAX; i++) {
- for (j = 0; j < HOTSPOTS_MAX; j++) {
- int dx1 = hotspots[i].dx;
- int dy1 = hotspots[i].dy;
- int dx2 = hotspots[j].dx;
- int dy2 = hotspots[j].dy;
- int correctx, correcty, newx, newy;
- char loc[256];
- IImageList *imglNew;
- POINT ppt;
-
- hr = IImageList_BeginDrag(imgl1, 0, dx1, dy1);
- ok(SUCCEEDED(hr), "BeginDrag failed for { %d, %d }\n", dx1, dy1);
- sprintf(loc, "BeginDrag (%d,%d)\n", i, j);
-
- /* check merging the dragged image with a second image */
- hr = IImageList_SetDragCursorImage(imgl2, (IUnknown *) imgl2, 0, dx2, dy2);
- ok(SUCCEEDED(hr), "SetDragCursorImage failed for {%d, %d}{%d, %d}\n",
- dx1, dy1, dx2, dy2);
- sprintf(loc, "SetDragCursorImage (%d,%d)\n", i, j);
-
- /* check new hotspot, it should be the same like the old one */
- hr = IImageList_GetDragImage(imgl2, NULL, &ppt, &IID_IImageList, (PVOID *) &imglNew);
- ok(SUCCEEDED(hr), "GetDragImage failed\n");
- ok(ppt.x == dx1 && ppt.y == dy1,
- "Expected drag hotspot [%d,%d] got [%d,%d]\n",
- dx1, dy1, ppt.x, ppt.y);
- /* check size of new dragged image */
- IImageList_GetIconSize(imglNew, &newx, &newy);
- correctx = max(SIZEX1, max(SIZEX2 + dx2, SIZEX1 - dx2));
- correcty = max(SIZEY1, max(SIZEY2 + dy2, SIZEY1 - dy2));
- ok(newx == correctx && newy == correcty,
- "Expected drag image size [%d,%d] got [%d,%d]\n",
- correctx, correcty, newx, newy);
- sprintf(loc, "GetDragImage (%d,%d)\n", i, j);
- IImageList_EndDrag(imgl2);
- }
- }
-#undef SIZEX1
-#undef SIZEY1
-#undef SIZEX2
-#undef SIZEY2
-#undef HOTSPOTS_MAX
- IImageList_Release(imgl2);
- IImageList_Release(imgl1);
-}
-
static void test_IImageList_Add_Remove(void)
{
IImageList *imgl;
@@ -1761,7 +1701,7 @@ static void test_IImageList_Draw(void)
HDC hdc;
int ret;
- hwndfortest = create_a_window();
+ hwndfortest = create_window();
hdc = GetDC(hwndfortest);
ok(hdc!=NULL, "couldn't get DC\n");
@@ -1839,7 +1779,7 @@ static void test_IImageList_Merge(void)
HIMAGELIST himl1, himl2;
IImageList *imgl1, *imgl2, *merge;
HICON hicon1;
- HWND hwnd = create_a_window();
+ HWND hwnd = create_window();
HRESULT hr;
int ret;
@@ -1926,94 +1866,89 @@ static void test_iconsize(void)
INT cx, cy;
BOOL ret;
- himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(16, 16, ILC_COLOR16, 0, 3);
/* null pointers, not zero imagelist dimensions */
- ret = ImageList_GetIconSize(himl, NULL, NULL);
+ ret = pImageList_GetIconSize(himl, NULL, NULL);
ok(!ret, "got %d\n", ret);
/* doesn't touch return pointers */
cx = 0x1abe11ed;
- ret = ImageList_GetIconSize(himl, &cx, NULL);
+ ret = pImageList_GetIconSize(himl, &cx, NULL);
ok(!ret, "got %d\n", ret);
ok(cx == 0x1abe11ed, "got %d\n", cx);
cy = 0x1abe11ed;
- ret = ImageList_GetIconSize(himl, NULL, &cy);
+ ret = pImageList_GetIconSize(himl, NULL, &cy);
ok(!ret, "got %d\n", ret);
ok(cy == 0x1abe11ed, "got %d\n", cy);
- ImageList_Destroy(himl);
+ pImageList_Destroy(himl);
- ret = ImageList_GetIconSize((HIMAGELIST)0xdeadbeef, &cx, &cy);
+ ret = pImageList_GetIconSize((HIMAGELIST)0xdeadbeef, &cx, &cy);
ok(!ret, "got %d\n", ret);
}
static void test_create_destroy(void)
{
HIMAGELIST himl;
- IImageList *imgl;
INT cx, cy;
BOOL rc;
- HRESULT hr;
INT ret;
/* list with zero or negative image dimensions */
- himl = ImageList_Create(0, 0, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(0, 0, ILC_COLOR16, 0, 3);
ok(himl == NULL, "got %p\n", himl);
- himl = ImageList_Create(0, 16, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(0, 16, ILC_COLOR16, 0, 3);
ok(himl == NULL, "got %p\n", himl);
- himl = ImageList_Create(16, 0, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(16, 0, ILC_COLOR16, 0, 3);
ok(himl == NULL, "got %p\n", himl);
- himl = ImageList_Create(16, -1, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(16, -1, ILC_COLOR16, 0, 3);
ok(himl == NULL, "got %p\n", himl);
- himl = ImageList_Create(-1, 16, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(-1, 16, ILC_COLOR16, 0, 3);
ok(himl == NULL, "got %p\n", himl);
- rc = ImageList_Destroy((HIMAGELIST)0xdeadbeef);
+ rc = pImageList_Destroy((HIMAGELIST)0xdeadbeef);
ok(rc == FALSE, "ImageList_Destroy(0xdeadbeef) should fail and not crash\n");
/* DDB image lists */
- himl = ImageList_Create(0, 14, ILC_COLORDDB, 4, 4);
+ himl = pImageList_Create(0, 14, ILC_COLORDDB, 4, 4);
ok(himl != NULL, "got %p\n", himl);
- imgl = (IImageList*)himl;
- IImageList_GetIconSize(imgl, &cx, &cy);
+
+ pImageList_GetIconSize(himl, &cx, &cy);
ok (cx == 0, "Wrong cx (%i)\n", cx);
ok (cy == 14, "Wrong cy (%i)\n", cy);
- ImageList_Destroy(himl);
+ pImageList_Destroy(himl);
- himl = ImageList_Create(0, 0, ILC_COLORDDB, 4, 4);
+ himl = pImageList_Create(0, 0, ILC_COLORDDB, 4, 4);
ok(himl != NULL, "got %p\n", himl);
- imgl = (IImageList*)himl;
- IImageList_GetIconSize(imgl, &cx, &cy);
+ pImageList_GetIconSize(himl, &cx, &cy);
ok (cx == 0, "Wrong cx (%i)\n", cx);
ok (cy == 0, "Wrong cy (%i)\n", cy);
- ImageList_Destroy(himl);
+ pImageList_Destroy(himl);
- himl = ImageList_Create(0, 0, ILC_COLORDDB, 0, 4);
+ himl = pImageList_Create(0, 0, ILC_COLORDDB, 0, 4);
ok(himl != NULL, "got %p\n", himl);
- imgl = (IImageList*)himl;
- IImageList_GetIconSize(imgl, &cx, &cy);
+ pImageList_GetIconSize(himl, &cx, &cy);
ok (cx == 0, "Wrong cx (%i)\n", cx);
ok (cy == 0, "Wrong cy (%i)\n", cy);
- hr = IImageList_SetImageCount(imgl, 3);
- ok(hr == S_OK, "got 0x%08x\n", hr);
- hr = IImageList_GetImageCount(imgl, &ret);
- ok(hr == S_OK && ret == 3, "invalid image count after increase\n");
+ pImageList_SetImageCount(himl, 3);
+ ret = pImageList_GetImageCount(himl);
+ ok(ret == 3, "Unexpected image count after increase\n");
/* Trying to actually add an image causes a crash on Windows */
- ImageList_Destroy(himl);
+ pImageList_Destroy(himl);
/* Negative values fail */
- himl = ImageList_Create(-1, -1, ILC_COLORDDB, 4, 4);
+ himl = pImageList_Create(-1, -1, ILC_COLORDDB, 4, 4);
ok(himl == NULL, "got %p\n", himl);
- himl = ImageList_Create(-1, 1, ILC_COLORDDB, 4, 4);
+ himl = pImageList_Create(-1, 1, ILC_COLORDDB, 4, 4);
ok(himl == NULL, "got %p\n", himl);
- himl = ImageList_Create(1, -1, ILC_COLORDDB, 4, 4);
+ himl = pImageList_Create(1, -1, ILC_COLORDDB, 4, 4);
ok(himl == NULL, "got %p\n", himl);
}
@@ -2026,7 +1961,7 @@ static void check_color_table(const char *name, HDC hdc, HIMAGELIST himl, UINT i
BITMAPINFO *bmi = (BITMAPINFO *)bmi_buffer;
int i, depth = ilc & 0xfe;
- ret = ImageList_GetImageInfo(himl, 0, &info);
+ ret = pImageList_GetImageInfo(himl, 0, &info);
ok(ret, "got %d\n", ret);
ok(info.hbmImage != NULL, "got %p\n", info.hbmImage);
@@ -2110,7 +2045,7 @@ static void test_color_table(UINT ilc)
get_default_color_table(hdc, ilc & 0xfe, default_table);
- himl = ImageList_Create(16, 16, ilc, 0, 3);
+ himl = pImageList_Create(16, 16, ilc, 0, 3);
ok(himl != NULL, "got %p\n", himl);
memset(bmi_buffer, 0, sizeof(bmi_buffer));
@@ -2144,17 +2079,17 @@ static void test_color_table(UINT ilc)
dib32 = CreateDIBSection(hdc, bmi, DIB_RGB_COLORS, NULL, NULL, 0);
/* add 32 first then 8. This won't set the color table */
- ret = ImageList_Add(himl, dib32, NULL);
+ ret = pImageList_Add(himl, dib32, NULL);
ok(ret == 0, "got %d\n", ret);
- ret = ImageList_Add(himl, dib8, NULL);
+ ret = pImageList_Add(himl, dib8, NULL);
ok(ret == 1, "got %d\n", ret);
check_color_table("add 32, 8", hdc, himl, ilc, default_table, NULL);
/* since the previous _Adds didn't set the color table, this one will */
- ret = ImageList_Remove(himl, -1);
+ ret = pImageList_Remove(himl, -1);
ok(ret, "got %d\n", ret);
- ret = ImageList_Add(himl, dib8, NULL);
+ ret = pImageList_Add(himl, dib8, NULL);
ok(ret == 0, "got %d\n", ret);
memset(rgb, 0, sizeof(rgb));
@@ -2165,18 +2100,18 @@ static void test_color_table(UINT ilc)
/* remove all, add 4. Color table remains the same since it's inplicitly
been set by the previous _Add */
- ret = ImageList_Remove(himl, -1);
+ ret = pImageList_Remove(himl, -1);
ok(ret, "got %d\n", ret);
- ret = ImageList_Add(himl, dib4, NULL);
+ ret = pImageList_Add(himl, dib4, NULL);
ok(ret == 0, "got %d\n", ret);
check_color_table("remove all, add 4", hdc, himl, ilc, rgb, default_table);
- ImageList_Destroy(himl);
- himl = ImageList_Create(16, 16, ilc, 0, 3);
+ pImageList_Destroy(himl);
+ himl = pImageList_Create(16, 16, ilc, 0, 3);
ok(himl != NULL, "got %p\n", himl);
/* add 4 */
- ret = ImageList_Add(himl, dib4, NULL);
+ ret = pImageList_Add(himl, dib4, NULL);
ok(ret == 0, "got %d\n", ret);
memset(rgb, 0, 16 * sizeof(rgb[0]));
@@ -2190,12 +2125,12 @@ static void test_color_table(UINT ilc)
check_color_table("add 4", hdc, himl, ilc, rgb, default_table);
- ImageList_Destroy(himl);
- himl = ImageList_Create(16, 16, ilc, 0, 3);
+ pImageList_Destroy(himl);
+ himl = pImageList_Create(16, 16, ilc, 0, 3);
ok(himl != NULL, "got %p\n", himl);
/* set color table, add 8 */
- ret = ImageList_Remove(himl, -1);
+ ret = pImageList_Remove(himl, -1);
ok(ret, "got %d\n", ret);
memset(rgb, 0, sizeof(rgb));
rgb[0].rgbRed = 0xcc;
@@ -2203,7 +2138,7 @@ static void test_color_table(UINT ilc)
ret = pImageList_SetColorTable(himl, 0, 2, rgb);
ok(ret == 2, "got %d\n", ret);
/* the table is set, so this doesn't change it */
- ret = ImageList_Add(himl, dib8, NULL);
+ ret = pImageList_Add(himl, dib8, NULL);
ok(ret == 0, "got %d\n", ret);
memcpy(rgb + 2, default_table + 2, 254 * sizeof(rgb[0]));
@@ -2213,7 +2148,7 @@ static void test_color_table(UINT ilc)
DeleteObject(dib8);
DeleteObject(dib4);
DeleteDC(hdc);
- ImageList_Destroy(himl);
+ pImageList_Destroy(himl);
}
static void test_copy(void)
@@ -2222,21 +2157,21 @@ static void test_copy(void)
BOOL ret;
int count;
- dst = ImageList_Create(5, 11, ILC_COLOR, 1, 1);
- count = ImageList_GetImageCount(dst);
+ dst = pImageList_Create(5, 11, ILC_COLOR, 1, 1);
+ count = pImageList_GetImageCount(dst);
ok(!count, "ImageList not empty.\n");
src = createImageList(7, 13);
- count = ImageList_GetImageCount(src);
+ count = pImageList_GetImageCount(src);
ok(count > 2, "Tests need an ImageList with more than 2 images\n");
/* ImageList_Copy() cannot copy between two ImageLists */
- ret = ImageList_Copy(dst, 0, src, 2, ILCF_MOVE);
+ ret = pImageList_Copy(dst, 0, src, 2, ILCF_MOVE);
ok(!ret, "ImageList_Copy() should have returned FALSE\n");
- count = ImageList_GetImageCount(dst);
+ count = pImageList_GetImageCount(dst);
ok(count == 0, "Expected no image in dst ImageList, got %d\n", count);
- ImageList_Destroy(dst);
- ImageList_Destroy(src);
+ pImageList_Destroy(dst);
+ pImageList_Destroy(src);
}
static void test_loadimage(void)
@@ -2244,19 +2179,19 @@ static void test_loadimage(void)
HIMAGELIST list;
DWORD flags;
- list = ImageList_LoadImageW( hinst, MAKEINTRESOURCEW(IDB_BITMAP_128x15), 16, 1, CLR_DEFAULT,
+ list = pImageList_LoadImageW( hinst, MAKEINTRESOURCEW(IDB_BITMAP_128x15), 16, 1, CLR_DEFAULT,
IMAGE_BITMAP, LR_CREATEDIBSECTION );
ok( list != NULL, "got %p\n", list );
flags = pImageList_GetFlags( list );
ok( flags == (ILC_COLOR4 | ILC_MASK), "got %08x\n", flags );
- ImageList_Destroy( list );
+ pImageList_Destroy( list );
- list = ImageList_LoadImageW( hinst, MAKEINTRESOURCEW(IDB_BITMAP_128x15), 16, 1, CLR_NONE,
+ list = pImageList_LoadImageW( hinst, MAKEINTRESOURCEW(IDB_BITMAP_128x15), 16, 1, CLR_NONE,
IMAGE_BITMAP, LR_CREATEDIBSECTION );
ok( list != NULL, "got %p\n", list );
flags = pImageList_GetFlags( list );
ok( flags == ILC_COLOR4, "got %08x\n", flags );
- ImageList_Destroy( list );
+ pImageList_Destroy( list );
}
static void test_IImageList_Clone(void)
@@ -2266,7 +2201,7 @@ static void test_IImageList_Clone(void)
HRESULT hr;
ULONG ref;
- himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(16, 16, ILC_COLOR16, 0, 3);
imgl = (IImageList*)himl;
if (0)
@@ -2290,7 +2225,7 @@ static void test_IImageList_GetBkColor(void)
COLORREF color;
HRESULT hr;
- himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(16, 16, ILC_COLOR16, 0, 3);
imgl = (IImageList*)himl;
if (0)
@@ -2312,7 +2247,7 @@ static void test_IImageList_SetBkColor(void)
COLORREF color;
HRESULT hr;
- himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(16, 16, ILC_COLOR16, 0, 3);
imgl = (IImageList*)himl;
if (0)
@@ -2342,7 +2277,7 @@ static void test_IImageList_GetImageCount(void)
int count;
HRESULT hr;
- himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(16, 16, ILC_COLOR16, 0, 3);
imgl = (IImageList*)himl;
if (0)
@@ -2366,7 +2301,7 @@ static void test_IImageList_GetIconSize(void)
int cx, cy;
HRESULT hr;
- himl = ImageList_Create(16, 16, ILC_COLOR16, 0, 3);
+ himl = pImageList_Create(16, 16, ILC_COLOR16, 0, 3);
imgl = (IImageList*)himl;
hr = IImageList_GetIconSize(imgl, NULL, NULL);
@@ -2381,18 +2316,47 @@ static void test_IImageList_GetIconSize(void)
IImageList_Release(imgl);
}
+static void init_functions(void)
+{
+ HMODULE hComCtl32 = GetModuleHandleA("comctl32.dll");
+
+#define X(f) p##f = (void*)GetProcAddress(hComCtl32, #f);
+#define X2(f, ord) p##f = (void*)GetProcAddress(hComCtl32, (const char *)ord);
+ X(ImageList_Create);
+ X(ImageList_Destroy);
+ X(ImageList_Add);
+ X(ImageList_DrawIndirect);
+ X(ImageList_SetImageCount);
+ X(ImageList_SetImageCount);
+ X2(ImageList_SetColorTable, 390);
+ X(ImageList_GetFlags);
+ X(ImageList_BeginDrag);
+ X(ImageList_GetDragImage);
+ X(ImageList_EndDrag);
+ X(ImageList_GetImageCount);
+ X(ImageList_SetDragCursorImage);
+ X(ImageList_GetIconSize);
+ X(ImageList_Remove);
+ X(ImageList_ReplaceIcon);
+ X(ImageList_Replace);
+ X(ImageList_Merge);
+ X(ImageList_GetImageInfo);
+ X(ImageList_Write);
+ X(ImageList_Read);
+ X(ImageList_Copy);
+ X(ImageList_LoadImageW);
+ X(ImageList_CoCreateInstance);
+ X(HIMAGELIST_QueryInterface);
+#undef X
+#undef X2
+}
+
START_TEST(imagelist)
{
ULONG_PTR ctx_cookie;
HANDLE hCtx;
- HMODULE hComCtl32 = GetModuleHandleA("comctl32.dll");
- pImageList_Create = NULL; /* These are not needed for non-v6.0 tests*/
- pImageList_Add = NULL;
- pImageList_DrawIndirect = (void*)GetProcAddress(hComCtl32, "ImageList_DrawIndirect");
- pImageList_SetImageCount = (void*)GetProcAddress(hComCtl32, "ImageList_SetImageCount");
- pImageList_SetColorTable = (void*)GetProcAddress(hComCtl32, (const char*)390);
- pImageList_GetFlags = (void*)GetProcAddress(hComCtl32, "ImageList_GetFlags");
+ init_functions();
hinst = GetModuleHandleA(NULL);
@@ -2413,30 +2377,29 @@ START_TEST(imagelist)
test_copy();
test_loadimage();
- FreeLibrary(hComCtl32);
-
/* Now perform v6 tests */
-
if (!load_v6_module(&ctx_cookie, &hCtx))
return;
- /* Reload comctl32 */
- hComCtl32 = LoadLibraryA("comctl32.dll");
- pImageList_Create = (void*)GetProcAddress(hComCtl32, "ImageList_Create");
- pImageList_Add = (void*)GetProcAddress(hComCtl32, "ImageList_Add");
- pImageList_DrawIndirect = (void*)GetProcAddress(hComCtl32, "ImageList_DrawIndirect");
- pImageList_SetImageCount = (void*)GetProcAddress(hComCtl32, "ImageList_SetImageCount");
- pImageList_CoCreateInstance = (void*)GetProcAddress(hComCtl32, "ImageList_CoCreateInstance");
- pHIMAGELIST_QueryInterface = (void*)GetProcAddress(hComCtl32, "HIMAGELIST_QueryInterface");
+ init_functions();
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
/* Do v6.0 tests */
+ test_add_remove();
+ test_imagecount();
+ test_DrawIndirect();
+ test_merge();
+ test_iconsize();
+ test_color_table(ILC_COLOR4);
+ test_color_table(ILC_COLOR8);
+ test_copy();
+ test_loadimage();
+
test_ImageList_DrawIndirect();
test_shell_imagelist();
test_iimagelist();
- test_hotspot_v6();
test_IImageList_Add_Remove();
test_IImageList_Get_SetImageCount();
test_IImageList_Draw();
--
2.15.1
1
0
[PATCH] testbot/web: Tweak the label of 64 bit tests on the Activity page.
by Francois Gouget 22 Dec '17
by Francois Gouget 22 Dec '17
22 Dec '17
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
testbot/web/Activity.pl | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/testbot/web/Activity.pl b/testbot/web/Activity.pl
index 677272f4..c3a1f48d 100644
--- a/testbot/web/Activity.pl
+++ b/testbot/web/Activity.pl
@@ -183,9 +183,11 @@ EOF
{
$Label .= " ". $VMStatus->{step}->FileName;
if ($VMStatus->{task}->CmdLineArg =~ /^\w+$/ and
- $Label =~ s/_(?:cross)?test\.exe$//)
+ $Label =~ s/_(?:cross)?test(64)?\.exe$//)
{
+ my $Bitness = $1;
$Label .= ":". $VMStatus->{task}->CmdLineArg;
+ $Label .= "/64" if ($Bitness);
}
}
$Label = "<a href='/JobDetails.pl?Key=". $VMStatus->{job}->Id ."#k". ($VMStatus->{step}->No * 100 + $VMStatus->{task}->No) ."'>$Label</a>";
--
2.15.1
1
0
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
dlls/bcrypt/bcrypt_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
index 55cf2f6f28..b2cb43e9d8 100644
--- a/dlls/bcrypt/bcrypt_main.c
+++ b/dlls/bcrypt/bcrypt_main.c
@@ -24,7 +24,7 @@
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
#include <AvailabilityMacros.h>
#include <CommonCrypto/CommonCryptor.h>
-#elif defined(SONAME_LIBGNUTLS)
+#elif defined(HAVE_GNUTLS_CIPHER_INIT)
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
#endif
--
2.11.0
1
0
[PATCH] Revert "msi: Don't execute a deferred custom action when not running the install script."
by Zebediah Figura 22 Dec '17
by Zebediah Figura 22 Dec '17
22 Dec '17
This (effectively) reverts commit 86bc556f9fd4a964cbaa66bc1fd67e4603ecd450.
Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com>
---
dlls/msi/custom.c | 19 ++++++++++++++++++-
dlls/msi/tests/install.c | 1 +
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c
index 2570fe2..f67a7dd 100644
--- a/dlls/msi/custom.c
+++ b/dlls/msi/custom.c
@@ -1132,6 +1132,23 @@ static UINT HANDLE_CustomType53_54( MSIPACKAGE *package, const WCHAR *source, co
return wait_thread_handle( info );
}
+static BOOL action_type_matches_script( UINT type, UINT script )
+{
+ switch (script)
+ {
+ case SCRIPT_NONE:
+ case SCRIPT_INSTALL:
+ return !(type & msidbCustomActionTypeCommit) && !(type & msidbCustomActionTypeRollback);
+ case SCRIPT_COMMIT:
+ return (type & msidbCustomActionTypeCommit);
+ case SCRIPT_ROLLBACK:
+ return (type & msidbCustomActionTypeRollback);
+ default:
+ ERR("unhandled script %u\n", script);
+ }
+ return FALSE;
+}
+
static UINT defer_custom_action( MSIPACKAGE *package, const WCHAR *action, UINT type )
{
WCHAR *actiondata = msi_dup_property( package->db, action );
@@ -1209,7 +1226,7 @@ UINT ACTION_CustomAction( MSIPACKAGE *package, LPCWSTR action )
if (type & msidbCustomActionTypeNoImpersonate)
WARN("msidbCustomActionTypeNoImpersonate not handled\n");
- if (package->script == SCRIPT_NONE)
+ if (!action_type_matches_script( type, package->script ))
{
rc = defer_custom_action( package, action, type );
goto end;
diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c
index 4fedc99..0cc9f9a 100644
--- a/dlls/msi/tests/install.c
+++ b/dlls/msi/tests/install.c
@@ -6056,6 +6056,7 @@ static void test_deferred_action(void)
skip("Not enough rights to perform tests\n");
goto error;
}
+todo_wine
ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r);
error:
--
2.7.4
3
3
[PATCH v2 1/2] ddraw/tests: Add a helper for getting the device identifier
by Alex Henrie 22 Dec '17
by Alex Henrie 22 Dec '17
22 Dec '17
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
v2: Fixed compilation error on old GCC
dlls/ddraw/tests/ddraw1.c | 40 ++++++++++++----------------------------
dlls/ddraw/tests/ddraw2.c | 40 ++++++++++++----------------------------
dlls/ddraw/tests/ddraw4.c | 32 ++++++++++++--------------------
dlls/ddraw/tests/ddraw7.c | 32 ++++++++++++--------------------
4 files changed, 48 insertions(+), 96 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index 109910b820..56916d6568 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -82,14 +82,16 @@ static BOOL compare_vec4(const struct vec4 *vec, float x, float y, float z, floa
&& compare_float(vec->w, w, ulps);
}
-static BOOL ddraw_is_warp(IDirectDraw *ddraw)
+static DDDEVICEIDENTIFIER ddraw_dev_id(IDirectDraw *ddraw)
{
IDirectDraw4 *ddraw4;
DDDEVICEIDENTIFIER identifier;
HRESULT hr;
+ memset(&identifier, 0, sizeof(identifier));
+
if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return identifier;
hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
@@ -97,42 +99,24 @@ static BOOL ddraw_is_warp(IDirectDraw *ddraw)
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
IDirectDraw4_Release(ddraw4);
+ return identifier;
+}
+
+static BOOL ddraw_is_warp(IDirectDraw *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return !!strstr(identifier.szDriver, "warp");
}
static BOOL ddraw_is_nvidia(IDirectDraw *ddraw)
{
- IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
-
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return identifier.dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw *ddraw)
{
- IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
-
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return identifier.dwVendorId == 0x8086;
}
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index 1db7ad9329..a92e4dc50f 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -84,14 +84,16 @@ static BOOL compare_vec4(const struct vec4 *vec, float x, float y, float z, floa
&& compare_float(vec->w, w, ulps);
}
-static BOOL ddraw_is_warp(IDirectDraw2 *ddraw)
+static DDDEVICEIDENTIFIER ddraw_dev_id(IDirectDraw2 *ddraw)
{
IDirectDraw4 *ddraw4;
DDDEVICEIDENTIFIER identifier;
HRESULT hr;
+ memset(&identifier, 0, sizeof(identifier));
+
if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return identifier;
hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
@@ -99,42 +101,24 @@ static BOOL ddraw_is_warp(IDirectDraw2 *ddraw)
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
IDirectDraw4_Release(ddraw4);
+ return identifier;
+}
+
+static BOOL ddraw_is_warp(IDirectDraw2 *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return !!strstr(identifier.szDriver, "warp");
}
static BOOL ddraw_is_nvidia(IDirectDraw2 *ddraw)
{
- IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
-
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return identifier.dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw2 *ddraw)
{
- IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
-
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return identifier.dwVendorId == 0x8086;
}
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 98c86d0bf0..5a356af4c5 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -94,45 +94,37 @@ static BOOL compare_color(D3DCOLOR c1, D3DCOLOR c2, BYTE max_diff)
return TRUE;
}
-static BOOL ddraw_is_warp(IDirectDraw4 *ddraw)
+static DDDEVICEIDENTIFIER ddraw_dev_id(IDirectDraw4 *ddraw)
{
DDDEVICEIDENTIFIER identifier;
HRESULT hr;
+ memset(&identifier, 0, sizeof(identifier));
+
if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return identifier;
hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
+ return identifier;
+}
+
+static BOOL ddraw_is_warp(IDirectDraw4 *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return !!strstr(identifier.szDriver, "warp");
}
static BOOL ddraw_is_nvidia(IDirectDraw4 *ddraw)
{
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
-
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return identifier.dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw4 *ddraw)
{
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
-
+ DDDEVICEIDENTIFIER identifier = ddraw_dev_id(ddraw);
return identifier.dwVendorId == 0x8086;
}
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 91822281d0..a8b1a8ed92 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -104,45 +104,37 @@ static ULONG get_refcount(IUnknown *iface)
return IUnknown_Release(iface);
}
-static BOOL ddraw_is_warp(IDirectDraw7 *ddraw)
+static DDDEVICEIDENTIFIER2 ddraw_dev_id(IDirectDraw7 *ddraw)
{
DDDEVICEIDENTIFIER2 identifier;
HRESULT hr;
+ memset(&identifier, 0, sizeof(identifier));
+
if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return identifier;
hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
+ return identifier;
+}
+
+static BOOL ddraw_is_warp(IDirectDraw7 *ddraw)
+{
+ DDDEVICEIDENTIFIER2 identifier = ddraw_dev_id(ddraw);
return !!strstr(identifier.szDriver, "warp");
}
static BOOL ddraw_is_nvidia(IDirectDraw7 *ddraw)
{
- DDDEVICEIDENTIFIER2 identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
-
+ DDDEVICEIDENTIFIER2 identifier = ddraw_dev_id(ddraw);
return identifier.dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw7 *ddraw)
{
- DDDEVICEIDENTIFIER2 identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
-
+ DDDEVICEIDENTIFIER2 identifier = ddraw_dev_id(ddraw);
return identifier.dwVendorId == 0x8086;
}
--
2.15.1
1
1
[PATCH 2/2] ddraw/tests: Recognize E_NOTIMPL returned from UpdateOverlay on VMware
by Alex Henrie 22 Dec '17
by Alex Henrie 22 Dec '17
22 Dec '17
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
dlls/ddraw/tests/ddraw1.c | 9 ++++++++-
dlls/ddraw/tests/ddraw2.c | 9 ++++++++-
dlls/ddraw/tests/ddraw4.c | 9 ++++++++-
dlls/ddraw/tests/ddraw7.c | 9 ++++++++-
4 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index 4542f3d4df..2797960321 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -117,6 +117,11 @@ static BOOL ddraw_is_intel(IDirectDraw *ddraw)
return ddraw_dev_id(ddraw).dwVendorId == 0x8086;
}
+static BOOL ddraw_is_vmware(IDirectDraw *ddraw)
+{
+ return ddraw_dev_id(ddraw).dwVendorId == 0x15ad;
+}
+
static IDirectDrawSurface *create_overlay(IDirectDraw *ddraw,
unsigned int width, unsigned int height, DWORD format)
{
@@ -8660,7 +8665,9 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) ||
+ broken(hr == DDERR_OUTOFCAPS && dwm_enabled()) ||
+ broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index f0fd0fa182..c6d962a235 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -119,6 +119,11 @@ static BOOL ddraw_is_intel(IDirectDraw2 *ddraw)
return ddraw_dev_id(ddraw).dwVendorId == 0x8086;
}
+static BOOL ddraw_is_vmware(IDirectDraw2 *ddraw)
+{
+ return ddraw_dev_id(ddraw).dwVendorId == 0x15ad;
+}
+
static IDirectDrawSurface *create_overlay(IDirectDraw2 *ddraw,
unsigned int width, unsigned int height, DWORD format)
{
@@ -9794,7 +9799,9 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) ||
+ broken(hr == DDERR_OUTOFCAPS && dwm_enabled()) ||
+ broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 9574331952..8a049e03a6 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -125,6 +125,11 @@ static BOOL ddraw_is_intel(IDirectDraw4 *ddraw)
return ddraw_dev_id(ddraw).dwVendorId == 0x8086;
}
+static BOOL ddraw_is_vmware(IDirectDraw4 *ddraw)
+{
+ return ddraw_dev_id(ddraw).dwVendorId == 0x15ad;
+}
+
static IDirectDrawSurface4 *create_overlay(IDirectDraw4 *ddraw,
unsigned int width, unsigned int height, DWORD format)
{
@@ -11256,7 +11261,9 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface4_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) ||
+ broken(hr == DDERR_OUTOFCAPS && dwm_enabled()) ||
+ broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 3693821404..95c5e30900 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -135,6 +135,11 @@ static BOOL ddraw_is_intel(IDirectDraw7 *ddraw)
return ddraw_dev_id(ddraw).dwVendorId == 0x8086;
}
+static BOOL ddraw_is_vmware(IDirectDraw7 *ddraw)
+{
+ return ddraw_dev_id(ddraw).dwVendorId == 0x15ad;
+}
+
static IDirectDrawSurface7 *create_overlay(IDirectDraw7 *ddraw,
unsigned int width, unsigned int height, DWORD format)
{
@@ -11217,7 +11222,9 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) ||
+ broken(hr == DDERR_OUTOFCAPS && dwm_enabled()) ||
+ broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
--
2.15.1
2
1
22 Dec '17
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
dlls/ddraw/tests/ddraw1.c | 43 ++++++++++++-------------------------------
dlls/ddraw/tests/ddraw2.c | 43 ++++++++++++-------------------------------
dlls/ddraw/tests/ddraw4.c | 35 ++++++++++++-----------------------
dlls/ddraw/tests/ddraw7.c | 35 ++++++++++++-----------------------
4 files changed, 48 insertions(+), 108 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index 109910b820..4542f3d4df 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -82,14 +82,16 @@ static BOOL compare_vec4(const struct vec4 *vec, float x, float y, float z, floa
&& compare_float(vec->w, w, ulps);
}
-static BOOL ddraw_is_warp(IDirectDraw *ddraw)
+static DDDEVICEIDENTIFIER ddraw_dev_id(IDirectDraw *ddraw)
{
IDirectDraw4 *ddraw4;
DDDEVICEIDENTIFIER identifier;
HRESULT hr;
+ memset(&identifier, 0, sizeof(identifier));
+
if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return identifier;
hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
@@ -97,43 +99,22 @@ static BOOL ddraw_is_warp(IDirectDraw *ddraw)
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
IDirectDraw4_Release(ddraw4);
- return !!strstr(identifier.szDriver, "warp");
+ return identifier;
}
-static BOOL ddraw_is_nvidia(IDirectDraw *ddraw)
+static BOOL ddraw_is_warp(IDirectDraw *ddraw)
{
- IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
+ return !!strstr(ddraw_dev_id(ddraw).szDriver, "warp");
+}
- return identifier.dwVendorId == 0x10de;
+static BOOL ddraw_is_nvidia(IDirectDraw *ddraw)
+{
+ return ddraw_dev_id(ddraw).dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw *ddraw)
{
- IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
-
- return identifier.dwVendorId == 0x8086;
+ return ddraw_dev_id(ddraw).dwVendorId == 0x8086;
}
static IDirectDrawSurface *create_overlay(IDirectDraw *ddraw,
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index 1db7ad9329..f0fd0fa182 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -84,14 +84,16 @@ static BOOL compare_vec4(const struct vec4 *vec, float x, float y, float z, floa
&& compare_float(vec->w, w, ulps);
}
-static BOOL ddraw_is_warp(IDirectDraw2 *ddraw)
+static DDDEVICEIDENTIFIER ddraw_dev_id(IDirectDraw2 *ddraw)
{
IDirectDraw4 *ddraw4;
DDDEVICEIDENTIFIER identifier;
HRESULT hr;
+ memset(&identifier, 0, sizeof(identifier));
+
if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return identifier;
hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
@@ -99,43 +101,22 @@ static BOOL ddraw_is_warp(IDirectDraw2 *ddraw)
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
IDirectDraw4_Release(ddraw4);
- return !!strstr(identifier.szDriver, "warp");
+ return identifier;
}
-static BOOL ddraw_is_nvidia(IDirectDraw2 *ddraw)
+static BOOL ddraw_is_warp(IDirectDraw2 *ddraw)
{
- IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
+ return !!strstr(ddraw_dev_id(ddraw).szDriver, "warp");
+}
- return identifier.dwVendorId == 0x10de;
+static BOOL ddraw_is_nvidia(IDirectDraw2 *ddraw)
+{
+ return ddraw_dev_id(ddraw).dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw2 *ddraw)
{
- IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
-
- return identifier.dwVendorId == 0x8086;
+ return ddraw_dev_id(ddraw).dwVendorId == 0x8086;
}
static IDirectDrawSurface *create_overlay(IDirectDraw2 *ddraw,
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 98c86d0bf0..9574331952 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -94,46 +94,35 @@ static BOOL compare_color(D3DCOLOR c1, D3DCOLOR c2, BYTE max_diff)
return TRUE;
}
-static BOOL ddraw_is_warp(IDirectDraw4 *ddraw)
+static DDDEVICEIDENTIFIER ddraw_dev_id(IDirectDraw4 *ddraw)
{
DDDEVICEIDENTIFIER identifier;
HRESULT hr;
+ memset(&identifier, 0, sizeof(identifier));
+
if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return identifier;
hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- return !!strstr(identifier.szDriver, "warp");
+ return identifier;
}
-static BOOL ddraw_is_nvidia(IDirectDraw4 *ddraw)
+static BOOL ddraw_is_warp(IDirectDraw4 *ddraw)
{
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
+ return !!strstr(ddraw_dev_id(ddraw).szDriver, "warp");
+}
- return identifier.dwVendorId == 0x10de;
+static BOOL ddraw_is_nvidia(IDirectDraw4 *ddraw)
+{
+ return ddraw_dev_id(ddraw).dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw4 *ddraw)
{
- DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
-
- return identifier.dwVendorId == 0x8086;
+ return ddraw_dev_id(ddraw).dwVendorId == 0x8086;
}
static IDirectDrawSurface4 *create_overlay(IDirectDraw4 *ddraw,
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 91822281d0..3693821404 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -104,46 +104,35 @@ static ULONG get_refcount(IUnknown *iface)
return IUnknown_Release(iface);
}
-static BOOL ddraw_is_warp(IDirectDraw7 *ddraw)
+static DDDEVICEIDENTIFIER2 ddraw_dev_id(IDirectDraw7 *ddraw)
{
DDDEVICEIDENTIFIER2 identifier;
HRESULT hr;
+ memset(&identifier, 0, sizeof(identifier));
+
if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return identifier;
hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- return !!strstr(identifier.szDriver, "warp");
+ return identifier;
}
-static BOOL ddraw_is_nvidia(IDirectDraw7 *ddraw)
+static BOOL ddraw_is_warp(IDirectDraw7 *ddraw)
{
- DDDEVICEIDENTIFIER2 identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
+ return !!strstr(ddraw_dev_id(ddraw).szDriver, "warp");
+}
- return identifier.dwVendorId == 0x10de;
+static BOOL ddraw_is_nvidia(IDirectDraw7 *ddraw)
+{
+ return ddraw_dev_id(ddraw).dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw7 *ddraw)
{
- DDDEVICEIDENTIFIER2 identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
-
- return identifier.dwVendorId == 0x8086;
+ return ddraw_dev_id(ddraw).dwVendorId == 0x8086;
}
static IDirectDrawSurface7 *create_overlay(IDirectDraw7 *ddraw,
--
2.15.1
2
1
22 Dec '17
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
---
Fixes several test.winehq.org failures on Windows XP virtual machines.
---
dlls/ddraw/tests/ddraw1.c | 2 +-
dlls/ddraw/tests/ddraw2.c | 2 +-
dlls/ddraw/tests/ddraw4.c | 2 +-
dlls/ddraw/tests/ddraw7.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index c306c4db1a..27b1b0defc 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -8679,7 +8679,7 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) || broken(hr == E_NOTIMPL || (hr == DDERR_OUTOFCAPS && dwm_enabled())),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index 8a7801ee3e..56ca6e4cdd 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -9813,7 +9813,7 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) || broken(hr == E_NOTIMPL || (hr == DDERR_OUTOFCAPS && dwm_enabled())),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 048331dfc3..50665af63a 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -11268,7 +11268,7 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface4_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) || broken(hr == E_NOTIMPL || (hr == DDERR_OUTOFCAPS && dwm_enabled())),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index d1ff85d5d5..9bc3c0913d 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -11229,7 +11229,7 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) || broken(hr == E_NOTIMPL || (hr == DDERR_OUTOFCAPS && dwm_enabled())),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
--
2.15.1
3
4
Signed-off-by: Kim Malmo <berencamlost(a)msn.com>
---
po/nb_NO.po | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/po/nb_NO.po b/po/nb_NO.po
index d00e67aebc..f2ef6594e5 100644
--- a/po/nb_NO.po
+++ b/po/nb_NO.po
@@ -10591,6 +10591,16 @@ msgid ""
"link_name is the name of the new symbolic link.\n"
"target is the path that link_name points to.\n"
msgstr ""
+"Opprett en symbolsk lenke.\n"
+"\n"
+"Syntax: MKLINK [alternativer] lenke_navn mål\n"
+"\n"
+"Alternativer:\n"
+"/d Opprett en symbolsk lenke til en katalog.\n"
+"/h Opprett en hard lenke.\n"
+"/j Opprett et katalog-knutepunkt.\n"
+"lenke_navn er navnet på den nye symbolske lenken.\n"
+"mål er stien som lenke_navn peker til.\n"
#: cmd.rc:312
msgid ""
--
2.14.1
1
1