Fix the ListView_SetItemState macro.

diff --git a/include/commctrl.h b/include/commctrl.h
index e989ec2..2a73934 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -3375,8 +3375,9 @@
 #define ListView_SetItemW(hwnd,pitem) \
     (INT)SNDMSGW((hwnd),LVM_SETITEMW,0,(LPARAM)(const LVITEMW *)(pitem))
 #define ListView_SetItem WINELIB_NAME_AW(ListView_SetItem)
-#define ListView_SetItemState(hwnd,i,pitem) \
-    (BOOL)SNDMSGA((hwnd),LVM_SETITEMSTATE,(WPARAM)(UINT)(i),(LPARAM)(LPLVITEMA)(pitem))
+#define ListView_SetItemState(hwnd,i,data,dataMask) \
+{ LVITEMA _LVi; _LVi.state = data; _LVi.stateMask = dataMask;\
+  SNDMSGA(hwnd, LVM_SETITEMSTATE, (WPARAM)(UINT)i, (LPARAM) (LPLVITEMA)&_LVi);}
 #define ListView_GetItemState(hwnd,i,mask) \
     (BOOL)SNDMSGA((hwnd),LVM_GETITEMSTATE,(WPARAM)(UINT)(i),(LPARAM)(UINT)(mask))
 #define ListView_GetCountPerPage(hwnd) \