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 <stepharo@free.fr <mailto:stepharo@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