VM Crash on Mac with Input Method ([Vm-dev] Re: [squeak-dev] RFB)
Yoshiki Ohshima
Yoshiki.Ohshima at acm.org
Sat Sep 17 04:22:39 UTC 2016
On Fri, Sep 16, 2016 at 3:13 PM, Yoshiki Ohshima
<Yoshiki.Ohshima at acm.org> wrote:
>> - (void) ioGetNextEvent: (sqInputEvent *) evt {
>>
>> ioProcessEvents();
>>
>> id event = [eventQueue returnAndRemoveOldest];
>>
>> if (event) {
>>
>> @autoreleasepool {
>>
>> [self processAsOldEventOrComplexEvent: event placeIn: evt];
>>
>> }
>>
>> RELEASEOBJ(event);
>>
>> }
>>
>> }
If I may elaborate my hypothesis, which has not been fully formulated:
- When sqSqueakOSXApplication receives a keyboard event under the
presence of an InputMethod, the InputMethod, which presumably runs in
a separate thread, also gets the event. For a control key such as
tab, the InputMethod passes through it to sqSqueakOSXApplication
again, and may be that causes some race condition.
Or, simply,
- in the ioGetNextEvent: the event is held by the InputMethod after
the processAsOldEventOrComplexEvent returned, and then the tab key is
delivered.
Or, it is somewhat totally different.
I'm sorry that I am just scratching the surface of the problem.
Please let me know if there are more I can do to help.
--
-- Yoshiki
More information about the Vm-dev
mailing list