[Bug 10318] Hellgate London freezes
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Jan 18 06:57:59 CST 2008
http://bugs.winehq.org/show_bug.cgi?id=10318
Fábio Capela <fabio.capela at yahoo.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fabio.capela at yahoo.com
--- Comment #19 from Fábio Capela <fabio.capela at yahoo.com> 2008-01-18 06:57:58 ---
This seems to be the same problem I'm having running Aliens vs Predator. A
trace with +keyboard is almost identical to the ones you are getting; a trace
with +key show that each ToUnicodeEx invocation try a different keycode:
trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0000
trace:key:X11DRV_ToUnicodeEx (00E2, 0029) : faked state = 0x0000
trace:key:EVENT_event_to_vkey e->keycode = 5e
trace:keyboard:X11DRV_ToUnicodeEx Found keycode 94 (0x5E)
trace:key:X11DRV_ToUnicodeEx type 2, window 5800002, state 0x0000, keycode
0x005e
trace:key:X11DRV_ToUnicodeEx nbyte = 1, status 0x4
trace:key:X11DRV_ToUnicodeEx KeyPress : keysym=3C (less), # of chars=1 / "<"
trace:key:X11DRV_ToUnicodeEx Translating char 0x3c to unicode
trace:key:X11DRV_ToUnicodeEx ToUnicode about to return 1 with char 3c
trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0000
trace:key:X11DRV_ToUnicodeEx (00E2, 002A) : faked state = 0x0000
trace:key:EVENT_event_to_vkey e->keycode = 5e
trace:keyboard:X11DRV_ToUnicodeEx Found keycode 94 (0x5E)
trace:key:X11DRV_ToUnicodeEx type 2, window 5800002, state 0x0000, keycode
0x005e
trace:key:X11DRV_ToUnicodeEx nbyte = 1, status 0x4
trace:key:X11DRV_ToUnicodeEx KeyPress : keysym=3C (less), # of chars=1 / "<"
trace:key:X11DRV_ToUnicodeEx Translating char 0x3c to unicode
trace:key:X11DRV_ToUnicodeEx ToUnicode about to return 1 with char 3c
The game seems to test every possible combination of virtual key and scan code
with ToUnicodeEx (possibly a brute force approach to get the keyboard map).
This can easily be some tens of thousands of calls to this function.
Every call to ToUnicodeEx will result in a call to either XmbLookupString or
XLookupString - and I believe either X is not prepared to handle such a swarm
of requests or the game is getting tens of thousands of seemingly valid virtual
key to keycode combinations, which seems to be a good reason for the lockup.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list