callback strangeness?

Andreas Raab andreas.raab at gmx.de
Tue Mar 15 23:07:54 UTC 2005


> I didn't really follow your discussion with Andreas, because it was a 
> bit  over my head - it didn't bring anything to light, did it?

Actually it did, I just got stuck with the conclusion. What happens is 
that the VM must be in a "sane state" for callbacks to work 
appropriately. That sane state is reached when we're in a primitive but 
not anyplace else. If a callback occurs in an unsane state then the 
internals of the VM get horribly messed up and Many Bad Things start to 
happen.

It would probably be best to change the VM to provide the required 
information implicitly or explicitly. For example, if we would make it 
so that after primitiveResponse() the primitiveIndex is reset to zero, 
then we could do The Right Thing in ioProcessEvents() - at worst we just 
bail if invoked with "primitiveIndex == 0".

Cheers,
   - Andreas



More information about the Wxsqueak mailing list