B3dSceneExplorerMorph not really deleted

Bob Arning arning at charm.net
Sun Aug 3 21:34:07 UTC 2003


On Sun, 3 Aug 2003 22:13:59 +0200 Martin Kuball <MartinKuball at web.de> wrote:
>Am Sonntag, 3. August 2003 19:05 schrieben Sie:
>> On Sun, 3 Aug 2003 15:53:15 +0200 Martin Kuball <MartinKuball at web.de> wrote:
>> >I tried the following in a 3.5 image on Linux:
>> >	B3DSceneExplorerMorph new openInWorld
>> >After playing with it I deleted the morph using the x in it's halo. Than I
>> >went to the trash and told it to erase it's content. Now every time I
>> > switch to squeak from another window I see a black box of the size and at
>> > the position of the B3DSceneExplorerMorph. How do I get ridd of it?
>>
>> Did you turn on hardware acceleration? If so, the simplest fix may be to
>> reboot your computer, or at least quit squeak and start it again.
>
>Restarting squeak worked. What exactly is the reason for this?

The black square is the OpenGL hardware/software still maintaining control over that part of the window. If you were to delete the actual B3DSceneMorph (the part inside the gray border of the B3DSceneExplorerMorph), then B3DSceneMorph>>outOfWorld: would see to it that the OpenGL renderer knew to cease and desist. Since deleting the B3DSceneExplorerMorph doesn't trigger this code, OpenGl thinks it's still in business. What I have been using for quite a while is

B3DSceneExplorerMorph>>delete

	b3DSceneMorph ifNotNil: [b3DSceneMorph suspendAcceleration].
	super delete.

Cheers,
Bob



More information about the Squeak-dev mailing list