http://bugs.winehq.org/show_bug.cgi?id=16611
--- Comment #3 from Vincent Pelletier plr.vincent@gmail.com 2008-12-24 02:19:32 --- Crash reproduced here. Sorry for the bug. Extract of output:
Unhandled exception: page fault on read access to 0x0000000a in 32-bit code (0x7ec9edca). [...] Backtrace: =>0 0x7ec9edca SystemParametersInfoW+0xd7a(uiAction=113, uiParam=0, pvParam=0xa, fWinIni=0) [/home/vincent/git/wine/dlls/user32/sysparams.c:2174] in user32 (0x0039e9c8)
0x0000000a is pvParam value, which I dereferenced in that patch, but it's the value itself... Dereference should be replaced either by PtrToInt macro call (which I replaced without paying enough attention, obviously) or by an equivalent casting to UINT (to avoid a signedness difference at build).
PtrToInt is defined here: include/basetsd.h:#define PtrToInt(p) ((INT)(INT_PTR)(p))
Sadly, I won't have access to a machine where I can test this change before monday. Could someone make that change and test it instead ?