http://bugs.winehq.org/show_bug.cgi?id=11838
--- Comment #1 from Dan Kegel dank@kegel.com 2008-03-05 17:52:06 --- User also reports a crash:
First chance exception: divide by zero in 32-bit code (0x7e3e957f). Backtrace: =>1 0x7e3e957f figure_deg+0x5f(x=0x0, y=0x14) [winex11.drv/wintab.c:749] 2 0x7e3e9b5b motion_event+0xcb(hwnd=0x300a0, event=0x34fc04) [winex11.drv/wintab.c:852] 3 0x7e3c691c process_events+0x1ec(display=0x73bb83d0, mask=0x4ff) [winex11.drv/event.c:269] 4 0x7e3c6b37 X11DRV_MsgWaitForMultipleObjectsEx+0x107(count=0x1, handles=0x34fcd4, timeout=0xffffffff, mask=0x4ff, flags=<?>) [winex11.drv/event.c:303] 5 0x7ebe9c9c MsgWaitForMultipleObjectsEx+0xec(count=<?>, pHandles=0x0, timeout=0xffffffff, mask=0x4ff, flags=0x0) [user32/message.c:3225] 6 0x7ebe9d4e WaitMessage+0x3e() [user32/message.c:3192] ... 0x7e3e957f figure_deg+0x5f [winex11.drv/wintab.c:749] in winex11: fstpl 0x0(%esp) 749 rc = (int) 10 * (atan( (FLOAT)abs(y) / (FLOAT)abs(x)) / (3.1415 / 180));
I'll attach a patch that switches to atan2, don't know if it helps yet.