Hello, Checking a program callec clic 3.0, found that there is a call what is done 2 times. In function: ComboWndProc_common with message: CB_DIR16, it does: lParam = (LPARAM)MapSL(lParam); message = LB_DIR16; and after calls: SendMessageX Now in the function: ListBoxWndProc_common with message: LB_DIR16, it does: if (wParam & DDL_DRIVES) wParam |= DDL_EXCLUSIVE; lParam = (LPARAM)MapSL(lParam); So, it is calling to MapSL 2 times, and the second time it breaks the pointer. Removing the MapSL call in CB_DIR16 should be the correct. Regards, Carlos. -- ___ _ \ | / Consulting | . |._ _ _| | ___ ___ ___ http://www.andago.com | || ' |/ . |<_> |/ . |/ . \__ GNU/Linux |_|_||_|_|\___|<___|\_. |\___/ _ \ __|\ \ / Carlos A. Lozano <___'/ | \ -_) __/\__ \ > < -_) [ carlos.lozano@xxxxxxxxxx ]\___|_| ____/ _/\_\___| [ calb@xxxxxxxxx ] http://www.epsxe.com
Index: controls/combo.c =================================================================== RCS file: /home/wine/wine/controls/combo.c,v retrieving revision 1.101 diff -u -r1.101 combo.c --- controls/combo.c 17 Sep 2003 04:31:27 -0000 1.101 +++ controls/combo.c 13 Nov 2003 21:15:18 -0000 @@ -2203,7 +2203,6 @@ case CB_GETDROPPEDSTATE: return (lphc->wState & CBF_DROPPED) ? TRUE : FALSE; case CB_DIR16: - lParam = (LPARAM)MapSL(lParam); message = LB_DIR16; /* fall through */ case CB_DIR: