Win VM modifications

Rob Gayvert rtg at rochester.rr.com
Fri Mar 4 12:32:45 UTC 2005


>> And if events destined for wx windows
>> are passed on to wxApp::ProcessMessage from ioProcessEvents, it works a
>> bit better, but still crashes.
>
> Again, any chance of finding out where it crashes?

Okay, here's where it gets interesting. If the wx pre-processing is 
applied, simple isolated events work fine. But if an event comes in 
during a callback, it crashes in a completely random way. What's 
happening here is a sequence like:
    interpret -> ioProcessEvents -> wxProcessMessage -> [...] -> 
interpret() -> ioProcessEvents -> ...

With a separate process polling for wx events, re-entry of the 
interpreter occurs only during a primitive call.

>> The key part of the check is this:
>>
>>    if (PeekMessage(&msg,0,0,0,PM_NOREMOVE)) {
>>        if (msg.hwnd != stWindow){
>>            GetMessage(&msg,0,0,0);
>>            if (!((wxSqueakApp*)wxTheApp)->ProcessMessage(&msg)){
>>                TranslateMessage(&msg);
>>                DispatchMessage(&msg);
>>            }
>
> Interesting. What happens if you take out the test here:
>
>>        if (msg.hwnd != stWindow){
>
> Does this crash? (this would clearly point to a problem in the wx libs).

No, it works fine, so the wx pre-processing doesn't seem to hurt.




More information about the Wxsqueak mailing list