i succeded to run the game "Wizardry 8" with original wine. Now the input is broken, almost every event is handled twice (e.g. i hit a and 2 a's appear, clicking with mouse results in doubleclick) and it does not seem to be a problem with dlls/x11drv/[event.c|keyboard.c|mouse.c]. Also the windows/input.c sends all requests only once!
Got a workaround: in ./windows/message.c line 597 comment that OUT: if (!remove) queue_hardware_message( msg, extra_info, \ MSG_HARDWARE_COOKED); then it will work.
As I said, that is a workaround, here is my debugging output .. does anyone know what to do to really fix this problem?
mIc
windows/message.c: SERVER_START_REQ( send_message ): 0x40586bdc windows/input.c:SERVER_START_REQ( send_message ): 0x405869e0
Breakpoint 1, wine_server_call (req_ptr=0x405869e0) at ../../scheduler/client.c:236 (gdb) backtrace #0 wine_server_call (req_ptr=0x405869e0) at ../../scheduler/client.c:236 #1 0x406c828a in queue_raw_hardware_message (message=256, wParam=65, lParam=1966081, xPos=1, yPos=478, time=173385, extraInfo=0) at ../../windows/input.c:127 #2 0x406c841e in queue_kbd_event (ki=0x40586adc, injected_flags=0) at ../../windows/input.c:186 #3 0x406c88af in SendInput (count=1, inputs=0x40586ad8, size=28) at ../../windows/input.c:337 #4 0x414bc0e5 in send_keyboard_input (wVk=65, wScan=30, dwFlags=0, time=173385) at keyboard.c:802 #5 0x414bc86f in X11DRV_KeyEvent (hwnd=65569, event=0x40586bbc) at keyboard.c:1005 #6 0x414ba7bd in EVENT_ProcessEvent (event=0x40586bbc) at event.c:287 #7 0x414ba2c1 in process_events (data=0x403986b8) at event.c:147 #8 0x414ba3ba in X11DRV_MsgWaitForMultipleObjectsEx (count=0, handles=0x0, timeout=0, mask=0, flags=0) at event.c:179 #9 0x406fcc9f in PeekMessageW (msg_out=0x40586de8, hwnd=0, first=0, last=0, flags=0) at message.c:2070 #10 0x406fcddb in PeekMessageA (msg=0x40586de8, hwnd=0, first=0, last=0, flags=0) at message.c:2128 #11 0x00401789 in ?? () #12 0x565720ec in ?? () Cannot access memory at address 0x83e58955 (gdb) cont schedule.c:wine_server_call:0x0100: 0x405869e0 windows/input.c:SERVER_START_REQ( send_message ): 0x405869e0 schedule.c:wine_server_call:0x0101: 0x405869e0 windows/input.c:SERVER_START_REQ( send_message ): 0x405869b8 windows/input.c:SERVER_START_REQ( send_message ): 0x405869b8 windows/message.c: SERVER_START_REQ( send_message ): 0x40586bdc
Breakpoint 1, wine_server_call (req_ptr=0x40586bdc) at ../../scheduler/client.c:236 (gdb) backtrace #0 wine_server_call (req_ptr=0x40586bdc) at ../../scheduler/client.c:236 #1 0x406cd889 in queue_hardware_message (msg=0x40586d28, extra_info=0, type=MSG_HARDWARE_COOKED) at ../../windows/message.c:130 #2 0x406ce38a in MSG_process_raw_hardware_message (msg=0x40586d28, extra_info=0, hwnd_filter=0, first=0, last=4294967295, remove=0) at ../../windows/message.c:597 #3 0x406fbc55 in MSG_peek_message (msg=0x40586d78, hwnd=0, first=0, last=4294967295, flags=0) at message.c:1477 #4 0x406fcce8 in PeekMessageW (msg_out=0x40586de8, hwnd=0, first=0, last=0, flags=0) at message.c:2075 #5 0x406fcddb in PeekMessageA (msg=0x40586de8, hwnd=0, first=0, last=0, flags=0) at message.c:2128 #6 0x00401789 in ?? () #7 0x565720ec in ?? () Cannot access memory at address 0x83e58955 (gdb)