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

Nicolai Hess nicolaihess at web.de
Sun Aug 3 15:42:22 EDT 2014


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>:

>  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/20140803/3033709c/attachment-0002.html>


More information about the Pharo-dev mailing list