[Pharo-dev] About https://pharo.fogbugz.com/f/cases/2489

stepharo stepharo at free.fr
Mon Aug 4 03:45:39 EDT 2014


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20140804/1b69da62/attachment-0002.html>


More information about the Pharo-dev mailing list