There is a wrong condition in an almost never-taken branch of
BitBltSimulation>>lockSurfaces (when src=dst):
isWarping ifFalse:[
"When warping we always need the entire surface
for the source"
sourceBits _ self cCode:'fn(sourceHandle,
&sourcePitch, 0,0, sourceWidth, sourceHeight)'.
] ifTrue:[
"Otherwise use overlapping area"
l _ sx min: dx. r _ (sx max: dx) + bbW.
t _ sy min: dy. b _ (sy max: sy) + bbH.
sourceBits _ self cCode:'fn(sourceHandle,
&sourcePitch, l, t, r-l, b-t)'.
].
As the comments indicate, the condition is reversed. Please include
attached fix in VMMaker.
- Bert -