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

Ross Boylan ross at biostat.ucsf.edu
Mon Apr 19 03:15:39 UTC 2010

On Sun, 2010-04-18 at 18:28 -0700, Lawson English wrote:
> 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 
> OpenGL>>destroy.
> 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 
> context.
I just ran into a similar situation; whether it is similar enough is for
you to judge.  I have a manager class that opens 2 Morphs; when one of
them (a SystemWindow) is killed I wanted the other one killed as well.

I made my manager the model of the SystemWindow morph.  When the
SystemWindow is destroyed, it sends #windowIsClosing to its model (i.e.,
my manager).  The manager can implement #windowIsClosing to delete the
other Morph.

This may or may not be an advisable use of the model mechanism, but it
seems to work.


More information about the Squeak-dev mailing list