Christoph Thiede uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-ct.2033.mcz
==================== Summary ====================
Name: Morphic-ct.2033 Author: ct Time: 24 August 2022, 6:02:53.835133 pm UUID: 6b380927-4044-c24d-a1cb-b4f6feb6dae3 Ancestors: Morphic-ct.2031
Fixes an drawing/invalidation issue with TransformMorphs. When an ancestor of a TransformMorph is moved directly, it invalidates both its old and its new bounds, so the damageRect can legitimately excess the bounds of the TransformMorph. Solution: Remove the intersection of the damage rect with the TransformMorph's bounds.
Reprocase: m := Morph new. f := m addFlexShell rotationDegrees: 15; yourself. f openInWorld. f center: f world center. "Do this separately" m position: m position + 10.
Please review.
=============== Diff against Morphic-ct.2031 ===============
Item was changed: ----- Method: TransformMorph>>invalidRect:from: (in category 'change reporting') ----- invalidRect: damageRect from: aMorph "Translate damage reports from submorphs by the scrollOffset." + + ^ super + invalidRect: (aMorph == self + ifTrue: [damageRect] + ifFalse: [(transform localBoundsToGlobal: damageRect) expanded]) + from: self! - aMorph == self - ifTrue:[super invalidRect: damageRect from: self] - ifFalse:[super invalidRect: (((transform localBoundsToGlobal: damageRect) intersect: bounds) expanded) from: self].!
packages@lists.squeakfoundation.org