comctl32/tests: Use reduced IMAGELISTDRAWPARAMS structure size for tests.
authorNikolay Sivov <nsivov@codeweavers.com>
Thu, 19 Aug 2010 05:38:36 +0000 (09:38 +0400)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 20 Aug 2010 11:46:33 +0000 (13:46 +0200)
dlls/comctl32/tests/imagelist.c
include/commctrl.h

index 88e159b2a8f6b20a5c62fad5267f4cf8787b24ee..de6d2c36156b9482dd913905961bb5872dc9ef94 100644 (file)
@@ -447,17 +447,12 @@ static void test_DrawIndirect(void)
 
     memset(&imldp, 0, sizeof (imldp));
     ok(!pImageList_DrawIndirect(&imldp), "zero data succeeded!\n");
-    imldp.cbSize = sizeof (imldp);
+    imldp.cbSize = IMAGELISTDRAWPARAMS_V3_SIZE;
     ok(!pImageList_DrawIndirect(&imldp), "zero hdc succeeded!\n");
     imldp.hdcDst = hdc;
     ok(!pImageList_DrawIndirect(&imldp),"zero himl succeeded!\n");
     imldp.himl = himl;
-    if (!pImageList_DrawIndirect(&imldp))
-    {
-      /* Earlier versions of native comctl32 use a smaller structure */
-      imldp.cbSize -= 3 * sizeof(DWORD);
-      ok(pImageList_DrawIndirect(&imldp),"DrawIndirect should succeed\n");
-    }
+
     REDRAW(hwndfortest);
     WAIT;
 
@@ -1605,17 +1600,10 @@ static void test_IImageList_Draw(void)
     hr = IImageList_Draw(imgl, &imldp);
     todo_wine ok( hr == E_INVALIDARG, "got 0x%08x\n", hr);
 
-    imldp.cbSize = sizeof (imldp);
+    imldp.cbSize = IMAGELISTDRAWPARAMS_V3_SIZE;
     imldp.hdcDst = hdc;
     imldp.himl = himl;
 
-    if (FAILED(IImageList_Draw(imgl, &imldp)))
-    {
-       /* Earlier versions of native comctl32 use a smaller structure */
-       imldp.cbSize -= 3 * sizeof(DWORD);
-       ok(SUCCEEDED(IImageList_Draw(imgl, &imldp)), "should succeed\n");
-    }
-
     REDRAW(hwndfortest);
     WAIT;
 
index fdd695122dbfbd32fead7dcd698876eaa03c34f7..e7d0ab4cb33af2e3cd7d42a105b1489d74f45b86 100644 (file)
@@ -580,9 +580,10 @@ typedef struct _IMAGELISTDRAWPARAMS
     DWORD       dwRop;
     DWORD       fState;
     DWORD       Frame;
-    DWORD       crEffect;
+    COLORREF    crEffect;
 } IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;
 
+#define IMAGELISTDRAWPARAMS_V3_SIZE CCSIZEOF_STRUCT(IMAGELISTDRAWPARAMS, dwRop)
 
 HRESULT  WINAPI HIMAGELIST_QueryInterface(HIMAGELIST,REFIID,void **);
 INT      WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);