Alexandre Julliard : comctl32: Fix the COMBOBOXEXITEM structure and the treeview handles for Win64.
Alexandre Julliard
julliard at winehq.org
Mon Jan 12 10:40:28 CST 2009
Module: wine
Branch: master
Commit: de375d7335f6706563413857c9840c00e35965c8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=de375d7335f6706563413857c9840c00e35965c8
Author: Alexandre Julliard <julliard at winehq.org>
Date: Sat Jan 10 21:05:17 2009 +0100
comctl32: Fix the COMBOBOXEXITEM structure and the treeview handles for Win64.
---
dlls/comctl32/comboex.c | 41 +++++++++++++++++++++--------------------
include/commctrl.h | 12 ++++++------
2 files changed, 27 insertions(+), 26 deletions(-)
diff --git a/dlls/comctl32/comboex.c b/dlls/comctl32/comboex.c
index 0f55f4e..2f95b1a 100644
--- a/dlls/comctl32/comboex.c
+++ b/dlls/comctl32/comboex.c
@@ -164,7 +164,7 @@ static void COMBOEX_DumpItem (CBE_ITEMDATA const *item)
static void COMBOEX_DumpInput (COMBOBOXEXITEMW const *input)
{
- TRACE("input - mask=%08x, iItem=%d, pszText=%p, cchTM=%d, iImage=%d\n",
+ TRACE("input - mask=%08x, iItem=%ld, pszText=%p, cchTM=%d, iImage=%d\n",
input->mask, input->iItem, input->pszText, input->cchTextMax,
input->iImage);
if (input->mask & CBEIF_TEXT)
@@ -467,7 +467,7 @@ static void COMBOEX_SetEditText (COMBOEX_INFO *infoPtr, CBE_ITEMDATA *item)
}
-static CBE_ITEMDATA * COMBOEX_FindItem(COMBOEX_INFO *infoPtr, INT index)
+static CBE_ITEMDATA * COMBOEX_FindItem(COMBOEX_INFO *infoPtr, INT_PTR index)
{
CBE_ITEMDATA *item;
INT i;
@@ -500,7 +500,7 @@ static inline BOOL COMBOEX_HasEdit(COMBOEX_INFO const *infoPtr)
/* *** CBEM_xxx message support *** */
-static UINT COMBOEX_GetListboxText(COMBOEX_INFO *infoPtr, int n, LPWSTR buf)
+static UINT COMBOEX_GetListboxText(COMBOEX_INFO *infoPtr, INT_PTR n, LPWSTR buf)
{
CBE_ITEMDATA *item;
LPCWSTR str;
@@ -527,9 +527,9 @@ static UINT COMBOEX_GetListboxText(COMBOEX_INFO *infoPtr, int n, LPWSTR buf)
}
-static INT COMBOEX_DeleteItem (COMBOEX_INFO *infoPtr, INT index)
+static INT COMBOEX_DeleteItem (COMBOEX_INFO *infoPtr, INT_PTR index)
{
- TRACE("(index=%d)\n", index);
+ TRACE("(index=%ld)\n", index);
/* if item number requested does not exist then return failure */
if ((index >= infoPtr->nb_items) || (index < 0)) return CB_ERR;
@@ -544,7 +544,7 @@ static INT COMBOEX_DeleteItem (COMBOEX_INFO *infoPtr, INT index)
static BOOL COMBOEX_GetItemW (COMBOEX_INFO *infoPtr, COMBOBOXEXITEMW *cit)
{
- INT index = cit->iItem;
+ INT_PTR index = cit->iItem;
CBE_ITEMDATA *item;
TRACE("(...)\n");
@@ -607,7 +607,7 @@ static inline BOOL COMBOEX_HasEditChanged (COMBOEX_INFO const *infoPtr)
static INT COMBOEX_InsertItemW (COMBOEX_INFO *infoPtr, COMBOBOXEXITEMW const *cit)
{
- INT index;
+ INT_PTR index;
CBE_ITEMDATA *item;
NMCOMBOBOXEXW nmcit;
@@ -765,7 +765,7 @@ static HIMAGELIST COMBOEX_SetImageList (COMBOEX_INFO *infoPtr, HIMAGELIST himl)
static BOOL COMBOEX_SetItemW (COMBOEX_INFO *infoPtr, COMBOBOXEXITEMW *cit)
{
- INT index = cit->iItem;
+ INT_PTR index = cit->iItem;
CBE_ITEMDATA *item;
if (TRACE_ON(comboex)) COMBOEX_DumpInput (cit);
@@ -870,7 +870,7 @@ COMBOEX_FindStringExact (COMBOEX_INFO *infoPtr, INT start, LPCWSTR str)
}
-static DWORD_PTR COMBOEX_GetItemData (COMBOEX_INFO *infoPtr, INT index)
+static DWORD_PTR COMBOEX_GetItemData (COMBOEX_INFO *infoPtr, INT_PTR index)
{
CBE_ITEMDATA const *item1;
CBE_ITEMDATA const *item2;
@@ -893,7 +893,7 @@ static DWORD_PTR COMBOEX_GetItemData (COMBOEX_INFO *infoPtr, INT index)
}
-static INT COMBOEX_SetCursel (COMBOEX_INFO *infoPtr, INT index)
+static INT COMBOEX_SetCursel (COMBOEX_INFO *infoPtr, INT_PTR index)
{
CBE_ITEMDATA *item;
INT sel;
@@ -901,7 +901,7 @@ static INT COMBOEX_SetCursel (COMBOEX_INFO *infoPtr, INT index)
if (!(item = COMBOEX_FindItem(infoPtr, index)))
return SendMessageW (infoPtr->hwndCombo, CB_SETCURSEL, index, 0);
- TRACE("selecting item %d text=%s\n", index, debugstr_txt(item->pszText));
+ TRACE("selecting item %ld text=%s\n", index, debugstr_txt(item->pszText));
infoPtr->selected = index;
sel = (INT)SendMessageW (infoPtr->hwndCombo, CB_SETCURSEL, index, 0);
@@ -910,7 +910,7 @@ static INT COMBOEX_SetCursel (COMBOEX_INFO *infoPtr, INT index)
}
-static DWORD_PTR COMBOEX_SetItemData (COMBOEX_INFO *infoPtr, INT index, DWORD_PTR data)
+static DWORD_PTR COMBOEX_SetItemData (COMBOEX_INFO *infoPtr, INT_PTR index, DWORD_PTR data)
{
CBE_ITEMDATA *item1;
CBE_ITEMDATA const *item2;
@@ -1124,7 +1124,8 @@ static LRESULT COMBOEX_Command (COMBOEX_INFO *infoPtr, WPARAM wParam)
INT command = HIWORD(wParam);
CBE_ITEMDATA *item = 0;
WCHAR wintext[520];
- INT cursel, n, oldItem;
+ INT cursel, n;
+ INT_PTR oldItem;
NMCBEENDEDITW cbeend;
DWORD oldflags;
HWND parent = infoPtr->hwndNotify;
@@ -1224,7 +1225,7 @@ static LRESULT COMBOEX_Command (COMBOEX_INFO *infoPtr, WPARAM wParam)
*/
oldItem = SendMessageW (infoPtr->hwndCombo, CB_GETCURSEL, 0, 0);
if (!(item = COMBOEX_FindItem(infoPtr, oldItem))) {
- ERR("item %d not found. Problem!\n", oldItem);
+ ERR("item %ld not found. Problem!\n", oldItem);
break;
}
infoPtr->selected = oldItem;
@@ -1750,7 +1751,7 @@ COMBOEX_EditWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
hwnd, uMsg, wParam, lParam);
case WM_KEYDOWN: {
- INT oldItem, selected, step = 1;
+ INT_PTR oldItem, selected, step = 1;
CBE_ITEMDATA *item;
switch ((INT)wParam)
@@ -1787,7 +1788,7 @@ COMBOEX_EditWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
oldItem = SendMessageW (infoPtr->hwndCombo, CB_GETCURSEL, 0, 0);
InvalidateRect (infoPtr->hwndCombo, 0, 0);
if (!(item = COMBOEX_FindItem(infoPtr, oldItem))) {
- ERR("item %d not found. Problem!\n", oldItem);
+ ERR("item %ld not found. Problem!\n", oldItem);
break;
}
infoPtr->selected = oldItem;
@@ -1829,7 +1830,7 @@ COMBOEX_EditWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
if (selected != -1) {
cmp_func_t cmptext = get_cmp_func(infoPtr);
item = COMBOEX_FindItem (infoPtr, selected);
- TRACE("handling VK_RETURN, selected = %d, selected_text=%s\n",
+ TRACE("handling VK_RETURN, selected = %ld, selected_text=%s\n",
selected, debugstr_txt(item->pszText));
TRACE("handling VK_RETURN, edittext=%s\n",
debugstr_w(edit_text));
@@ -2079,8 +2080,8 @@ COMBOEX_ComboWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
LPCWSTR lastwrk;
cmp_func_t cmptext = get_cmp_func(infoPtr);
- INT selected = SendMessageW (infoPtr->hwndCombo,
- CB_GETCURSEL, 0, 0);
+ INT_PTR selected = SendMessageW (infoPtr->hwndCombo,
+ CB_GETCURSEL, 0, 0);
/* lstrlenW( lastworkingURL ) */
@@ -2093,7 +2094,7 @@ COMBOEX_ComboWndProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
lastwrk = COMBOEX_GetText(infoPtr, item);
}
- TRACE("handling EN_CHANGE, selected = %d, selected_text=%s\n",
+ TRACE("handling EN_CHANGE, selected = %ld, selected_text=%s\n",
selected, debugstr_w(lastwrk));
TRACE("handling EN_CHANGE, edittext=%s\n",
debugstr_w(edit_text));
diff --git a/include/commctrl.h b/include/commctrl.h
index 9f68edd..426d70a 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -2381,10 +2381,10 @@ static const WCHAR WC_TREEVIEWW[] = { 'S','y','s',
#define TVIF_INTEGRAL 0x0080
#define TVIF_DI_SETITEM 0x1000
-#define TVI_ROOT ((HTREEITEM)0xffff0000) /* -65536 */
-#define TVI_FIRST ((HTREEITEM)0xffff0001) /* -65535 */
-#define TVI_LAST ((HTREEITEM)0xffff0002) /* -65534 */
-#define TVI_SORT ((HTREEITEM)0xffff0003) /* -65533 */
+#define TVI_ROOT ((HTREEITEM)-65536)
+#define TVI_FIRST ((HTREEITEM)-65535)
+#define TVI_LAST ((HTREEITEM)-65534)
+#define TVI_SORT ((HTREEITEM)-65533)
#define TVIS_FOCUSED 0x0001
#define TVIS_SELECTED 0x0002
@@ -4244,7 +4244,7 @@ static const WCHAR WC_COMBOBOXEXW[] = { 'C','o','m','b','o',
typedef struct tagCOMBOBOXEXITEMA
{
UINT mask;
- int iItem;
+ INT_PTR iItem;
LPSTR pszText;
int cchTextMax;
int iImage;
@@ -4258,7 +4258,7 @@ typedef COMBOBOXEXITEMA const *PCCOMBOEXITEMA; /* Yes, there's a BOX missing */
typedef struct tagCOMBOBOXEXITEMW
{
UINT mask;
- int iItem;
+ INT_PTR iItem;
LPWSTR pszText;
int cchTextMax;
int iImage;
More information about the wine-cvs
mailing list