Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1953.mcz
==================== Summary ====================
Name: Morphic-mt.1953 Author: mt Time: 30 March 2022, 12:53:51.805263 pm UUID: d560c970-7e24-ac43-bfac-ca68c9e53541 Ancestors: Morphic-mt.1952
Tweak prior commentary bc. I just (re-)discovered the actual behavior of #deferUpdates: across platforms.
=============== Diff against Morphic-mt.1952 ===============
Item was changed: ----- Method: FormCanvas>>showAt:invalidRects: (in category 'other') ----- showAt: pt invalidRects: updateRects + "Show the receiver's bits (i.e, the form it is currently drawing on) on the screen, which is represented by the global Display form. + + NOTE THAT #copyBits has the side effect of calling #primShowRectLeft:right:top:bottom: if the blitting target is that Display form. Thus, it is similar to calling #forceDamageToScreen: with updateRects after modifying Display directly but in deferred-drawing mode. + + NOTE THAT not all platforms support deferred updates even though they are not failing in #deferUpdates:. Thus, this method has no practical benefit these days unless forced via #disableDeferredUpdates:." - "Show the receiver's bits (i.e, the form it is currently drawing on) on the screen, which is represented by the global Display form. NOTE THAT #copyBits has the side effect of calling #primShowRectLeft:right:top:bottom: if the blitting target is that Display form. Thus, it is similar to calling #forceDamateToScreen: with updateRects after modifying Display directly but in deferred-drawing mode. Yet, not all platforms support #deferUpdates:, and that is why this method exists."
| blt | blt := (BitBlt toForm: Display) sourceForm: form; combinationRule: Form over. updateRects do: [:rect | blt sourceRect: rect; destOrigin: rect topLeft + pt; copyBits "...entails #primShowRect:... see above"]!
packages@lists.squeakfoundation.org