Thanks this is strange because we used the modified system.
I see some problems with MC and changes tracking recently and this is
annoying.
Because this reference should not be there.
Now I do not know how to rollback a change so the system will stay
broken until I find and I do not have the time today.
Stef
Pharo 40150 after typing two characters in a Workspace:
setOrigin:corner: referese to the undefined Object:
"DegeneratedRectangle"
UndefinedObject(Object)>>doesNotUnderstand: #signal
CharacterBlock(Rectangle)>>setOrigin:corner:
CharacterBlock>>stringIndex:text:topLeft:extent:
CharacterBlockScanner>>characterBlockAtPoint:index:in:
Paragraph>>characterBlockAtPoint:
Paragraph>>buildSelectionBlocksFrom:to:
Paragraph>>displayExtraSelectionOn:
TextMorphForEditView>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[
(aCanvas isVisible: self bounds)
ifTrue: [ aCanvas drawMorph: self ].
self drawSubmorphsOn: aCanvas.
self drawDropHighlightOn: aCanvas.
self drawMouseDownHighlightOn: aCanvas ] in [
"Note: At some point we should generalize this into some sort of
multi-canvas so that we can cross-optimize some drawing
operations."
"Pass 1: Draw eventual drop-shadow"
self hasDropShadow
ifTrue: [ self drawDropShadowOn: aCanvas ]. "Pass 2: Draw
receiver itself"
aCanvas
roundCornersOf: self
during: [
(aCanvas isVisible: self bounds)
ifTrue: [ aCanvas drawMorph: self ].
self drawSubmorphsOn: aCanvas.
self drawDropHighlightOn: aCanvas.
self drawMouseDownHighlightOn: aCanvas ] ] in
TextMorphForEditView(Morph)>>fullDrawOn: in Block: [ ...
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
[
"Note: At some point we should generalize this into some sort of
multi-canvas so that we can cross-optimize some drawing
operations."
"Pass 1: Draw eventual drop-shadow"
self hasDropShadow
ifTrue: [ self drawDropShadowOn: aCanvas ]. "Pass 2: Draw
receiver itself"
aCanvas
roundCornersOf: self
during: [
(aCanvas isVisible: self bounds)
ifTrue: [ aCanvas drawMorph: self ].
self drawSubmorphsOn: aCanvas.
self drawDropHighlightOn: aCanvas.
self drawMouseDownHighlightOn: aCanvas ] ] in
TextMorphForEditView(Morph)>>fullDrawOn: in Block: [ ...
BlockClosure>>on:do:
TextMorphForEditView(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[ :m | myCanvas fullDrawMorph: m ] in [ :myCanvas |
(self angle ~= 0.0 or: [ self scale ~= 1.0 ])
ifTrue: [ FreeTypeSettings current forceNonSubPixelDuring: [
submorphs reverseDo: [ :m | myCanvas fullDrawMorph: m ] ] ]
ifFalse: [ submorphs reverseDo: [ :m | myCanvas fullDrawMorph: m ]
] ] in TransformMorph>>drawSubmorphsOn: in Block: [ :m | myCanvas
fullDrawMorph: m ]
Array(SequenceableCollection)>>reverseDo:
[ :myCanvas |
(self angle ~= 0.0 or: [ self scale ~= 1.0 ])
ifTrue: [ FreeTypeSettings current forceNonSubPixelDuring: [
submorphs reverseDo: [ :m | myCanvas fullDrawMorph: m ] ] ]
ifFalse: [ submorphs reverseDo: [ :m | myCanvas fullDrawMorph: m ]
] ] in TransformMorph>>drawSubmorphsOn: in Block: [ :myCanvas | ...
FormCanvas>>transformBy:clippingTo:during:smoothing:
TransformMorph>>drawSubmorphsOn:
[
(aCanvas isVisible: self bounds)
ifTrue: [ aCanvas drawMorph: self ].
self drawSubmorphsOn: aCanvas.
self drawDropHighlightOn: aCanvas.
self drawMouseDownHighlightOn: aCanvas ] in [
"Note: At some point we should generalize this into some sort of
multi-canvas so that we can cross-optimize some drawing
operations."
"Pass 1: Draw eventual drop-shadow"
self hasDropShadow
ifTrue: [ self drawDropShadowOn: aCanvas ]. "Pass 2: Draw
receiver itself"
aCanvas
roundCornersOf: self
during: [
(aCanvas isVisible: self bounds)
ifTrue: [ aCanvas drawMorph: self ].
self drawSubmorphsOn: aCanvas.
self drawDropHighlightOn: aCanvas.
self drawMouseDownHighlightOn: aCanvas ] ] in
TransformMorph(Morph)>>fullDrawOn: in Block: [ ...
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
[
"Note: At some point we should generalize this into some sort of
multi-canvas so that we can cross-optimize some drawing
operations."
"Pass 1: Draw eventual drop-shadow"
self hasDropShadow
ifTrue: [ self drawDropShadowOn: aCanvas ]. "Pass 2: Draw
receiver itself"
aCanvas
roundCornersOf: self
during: [
(aCanvas isVisible: self bounds)
ifTrue: [ aCanvas drawMorph: self ].
self drawSubmorphsOn: aCanvas.
self drawDropHighlightOn: aCanvas.
self drawMouseDownHighlightOn: aCanvas ] ] in
TransformMorph(Morph)>>fullDrawOn: in Block: [ ...
BlockClosure>>on:do:
TransformMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
2014-08-03 18:12 GMT+02:00 stepharo <steph...@free.fr
<mailto:steph...@free.fr>>:
Hi guys
We finished (we hope) a really long effort to be such that we
cannot have "negative" rectangles.
It implied fixing around 250 users of layoutFrame and a lot more.
We introduced point:point: to create rectangles.
We improved many little points.
We deeply tested the image but we never know it may happen that a
layout policy produce strange rectangles again.
If you find some glitches we will fix them.
Stef and Igor