2008/12/27 Dmitry Timoshkov <dmi...@codeweavers.com>: > "Andre Wisplinghoff" <andre.wisplingh...@gmail.com> wrote: > >> +INT_PTR CALLBACK >> +comboedit_wndproc (HWND hEdit, UINT uMsg, WPARAM wParam, LPARAM lParam) > > INT_PTR is wrong return value type for a window proc.
so it should be HRESULT? INT_PTR is used for other window procs in programs/winecfg/libraries.c, too. >> + /* subclass dllcombo's edit to allow return keypress handling */ >> + GetComboBoxInfo(GetDlgItem(dialog, IDC_DLLCOMBO), &cbinfo); >> + edit = cbinfo.hwndItem; /* retrieve edit box handle */ >> + oldWndProc = (LONG_PTR)SetWindowLong(edit, GWL_WNDPROC, >> + (DWORD) comboedit_wndproc); >> + SetWindowLong(edit, GWL_USERDATA, (DWORD)oldWndProc); > > The code is above is not 64-bit safe. I'm not used to 64-bit programming but willing to learn. Is using SetWindowLongPtr enough to make it 64-bit safe?: oldWndProc = SetWindowLongPtr(edit, GWL_WNDPROC, (LONG_PTR) comboedit_wndproc); SetWindowLongPtr(edit, GWL_USERDATA, (LONG_PTR) oldWndProc); -- Andre Wisplinghoff