[squeak-dev] OpenGL morphic issue with "embedd in window"

Lawson English lenglish5 at cox.net
Mon Apr 19 01:28:34 UTC 2010

Jeroen has been helping me more than a bit with learning how to use 
OpenGL with squeak, but I've hit a stumbling block I can't quite get 
around and Jereon has been busy lately:

when I put an OGLMoprh in a window via the menu, the close box 
apparently doesn't delete the morph the same way as it does via using 
the x-halo (without embedding)

The x-halo sends a delete directly to the OGLMorph which sends 

However, the window's close box AND the window's x-halo apparently do 
things a tiny bit differently.

The window disappears, and the OpenGL context becomes unselectable, but 
stays around.

If I send openInWorld to the original OGLMorph, it becomes active again 
and the x-halo of  OGLMorph will still do the OpenGL>>destroy on the 

I've tried to trace what is happining, but I am missing something. The 
messages I expect to be called are not being called, so I can't figure 
out where to put the reference to OpenGL>>destroy to tidy things up.

The procedure for installing OpenGL class in squeak 4.1 is:

(Installer repository: 'http://source.squeak.org/FFI')
    install: 'FFI-Pools';
    install: 'FFI-Kernel';
    install: 'FFI-Tests'.

(Installer repository: 'http://www.squeaksource.com/CroquetGL')
    install: '3DTransform';
    install: 'OpenGL-Pools';
    install: 'OpenGL-Core'.

and then install thelatest  OpenGL-Tutorial package via monticello from


myMorph := OGLMorph new openInWorld.

menu>> Put in window

will show the behavior I'm talking about.

Thanks for any advice.


More information about the Squeak-dev mailing list