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