Marcel Taeumel uploaded a new version of Graphics to project The Trunk:
http://source.squeak.org/trunk/Graphics-tobe.425.mcz==================== Summary ====================
Name: Graphics-tobe.425
Author: tobe
Time: 27 January 2020, 5:11:45.257843 pm
UUID: 2f66f6ea-c0d5-4487-bc4d-af76d67acc2e
Ancestors: Graphics-pre.424
Fixes an issue causing an infinite text composition loop when placing embedded morphs which exceed the current composition rectangle's width. The fix entails consistently returning Booleans which indicate whether the morph still fits.
=============== Diff against Graphics-pre.424 ===============
Item was changed:
----- Method: CharacterScanner>>embeddedObject (in category 'stop conditions') -----
embeddedObject
pendingKernX := 0.
((text attributesAt: lastIndex) reject: [:each | each anchoredMorph isNil])
+ ifNotEmpty: [:attributes | (self placeEmbeddedObjectsFrom: attributes) ifTrue: [^ true]].
- ifNotEmpty: [:attributes | self placeEmbeddedObjectsFrom: attributes].
self setFont.
"Note: if ever several objects are embedded on same character, only indent lastIndex once"
lastIndex := lastIndex + 1.
^false!
Item was changed:
----- Method: CharacterScanner>>placeEmbeddedObjectsFrom: (in category 'private-text-anchor') -----
placeEmbeddedObjectsFrom: textAttributes
textAttributes do: [:attr |
"Try to placeEmbeddedObject: - if it answers false, then there's no place left"
+ (self placeEmbeddedObjectFrom: attr) ifFalse: [^ self crossedX]].
+ ^ false!
- (self placeEmbeddedObjectFrom: attr) ifFalse: [^ self crossedX]]!