[Bug][Fix] BitBlt, Balloon3D and Hardware Accelaration

Torsten Bergmann astares at gmx.de
Wed Sep 15 18:54:40 UTC 2004


Hi,

I got Squeak to freeze when I run Balloon3D in a combination
of the autoAccessor Preference and direct hardware accelearation
using Squeak3.7Gamma#5983 updated with to a FullImage to get Balloon3D. 

The problem is B3DHardwareEngine>>restoreMorphicForeground:above:
which sends #halftoneForm: to a BitBlt instance. But there is no
accessor method with this name.

To reproduce:

1. disable the squeak preference for autoAccessors
2. Evaluate "B3DSceneExplorerMorph new openInWorld"
3. select "Enable hardware accelaration" in the morph
4. Try to open a halo on the morph

It can easily be fixed if the accessor #halftoneForm: is added to BitBlt 
(additionally adding #halftoneForm for consistency). I would vote for 
adding this fix to the basic Squeak image even if it currently only
affects Balloon3D and my be packaged with it.

Bye
Torsten




-- 
NEU: GMX ProMail mit bestem Virenschutz http://www.gmx.net/de/go/mail
+++ Empfehlung der Redaktion +++ Internet Professionell 10/04 +++
-------------- next part --------------
'From Squeak3.7gamma of ''17 July 2004'' [latest update: #5983] on 14 September 2004 at 8:46:33 pm'!
"Change Set:		BitBltAccessorCompletionForB3D
Date:			14 September 2004
Author:			Torsten Bergmann

Adds accessor methods for the instance Variable halftoneForm in BitBlt. This prevents a bug in a full image when 
B3DHardwareEngine>>restoreMorphicForeground:above: from Balloon3D calls the setter method.
To reproduce the bug in a full image:

1. disable the squeak preference for autoAccessors
2. Evaluate 'B3DSceneExplorerMorph new openInWorld'
3. select 'Enable hardware accelaration' in the morph
4. Try to open a halo on the morph
"!


!BitBlt methodsFor: 'accessing' stamp: 'tbn 9/14/2004 20:38'!
halftoneForm
	"Returns the receivers half tone form. See class commment."
	
	^halftoneForm! !

!BitBlt methodsFor: 'accessing' stamp: 'tbn 9/14/2004 20:39'!
halftoneForm: aBitmap
	"Sets the receivers half tone form. See class commment."
	
	halftoneForm := aBitmap
	
 ! !



More information about the Squeak-dev mailing list