Mantis - Squeak
Viewing Issue Advanced Details
7247 Graphics minor always 12-18-08 12:16 09-18-13 00:25
Nicolai Hess  
tim  
normal  
closed  
fixed  
none    
none 4.4  
0007247: BitBlt Bug in alphaSourceBlendBits8
In alphaSourceBlendBits8 the colormask is shifted wrong number of times, if
dest display byteorder is little endian.

Test: Change your display depth to 8 bit little endian and compare
with 8 bit big endian.

To fix this :
At the end of method alphaSourceBlendBits8
srcShift should reset when 24, not 32.
..

destMSB ifTrue:[
..
] ifFalse:[
 srcShift = 32 "<--- here "
  ifTrue:[dstIndex := dstIndex + 4.
    srcShift := 0.
    dstMask := 16rFFFFFF00]
  ifFalse:[srcShift := srcShift + 8.
  dstMask := dstMask << 8 bitOr: 255].
].
            

Notes
(0014448)
tim   
09-18-13 00:24   
Looks to be a correct diagnosis to me; for MSB the srcShift will cycle through 0->8->16->24->0 but for LSB it can go 0->8->16->24->32->0 which seems likely to cause a problem.

Fixed in VMMaker-tpr.325