<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Thanks this is strange because we used the modified system. <br>
    I see some problems with MC and changes tracking recently and this
    is annoying. <br>
    Because this reference should not be there.<br>
    <br>
    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.<br>
    <br>
    Stef<br>
    <br>
    <blockquote
cite="mid:CAPED3SRbbbs9uFq0tppr5=r+JtmouT1qxVVb4pjae8_OWUO+uw@mail.gmail.com"
      type="cite">
      <div dir="ltr">Pharo 40150 after typing two characters in a
        Workspace:<br>
        setOrigin:corner: referese to the undefined Object:<br>
        "DegeneratedRectangle"<br>
        <br>
        UndefinedObject(Object)>>doesNotUnderstand: #signal<br>
        CharacterBlock(Rectangle)>>setOrigin:corner:<br>
        CharacterBlock>>stringIndex:text:topLeft:extent:<br>
        CharacterBlockScanner>>characterBlockAtPoint:index:in:<br>
        Paragraph>>characterBlockAtPoint:<br>
        Paragraph>>buildSelectionBlocksFrom:to:<br>
        Paragraph>>displayExtraSelectionOn:<br>
        TextMorphForEditView>>drawOn:<br>
        FormCanvas(Canvas)>>draw:<br>
        FormCanvas(Canvas)>>drawMorph:<br>
        [ <br>
        (aCanvas isVisible: self bounds)<br>
            ifTrue: [ aCanvas drawMorph: self ].<br>
        self drawSubmorphsOn: aCanvas.<br>
        self drawDropHighlightOn: aCanvas.<br>
        self drawMouseDownHighlightOn: aCanvas ] in [ <br>
        "Note: At some point we should generalize this into some sort of
        <br>
                multi-canvas so that we can cross-optimize some drawing
        operations."<br>
        "Pass 1: Draw eventual drop-shadow"<br>
        self hasDropShadow<br>
            ifTrue: [ self drawDropShadowOn: aCanvas ].    "Pass 2: Draw
        receiver itself"<br>
        aCanvas<br>
            roundCornersOf: self<br>
            during: [ <br>
                (aCanvas isVisible: self bounds)<br>
                    ifTrue: [ aCanvas drawMorph: self ].<br>
                self drawSubmorphsOn: aCanvas.<br>
                self drawDropHighlightOn: aCanvas.<br>
                self drawMouseDownHighlightOn: aCanvas ] ] in
        TextMorphForEditView(Morph)>>fullDrawOn: in Block: [ ...<br>
        FormCanvas>>roundCornersOf:in:during:<br>
        FormCanvas(Canvas)>>roundCornersOf:during:<br>
        [ <br>
        "Note: At some point we should generalize this into some sort of
        <br>
                multi-canvas so that we can cross-optimize some drawing
        operations."<br>
        "Pass 1: Draw eventual drop-shadow"<br>
        self hasDropShadow<br>
            ifTrue: [ self drawDropShadowOn: aCanvas ].    "Pass 2: Draw
        receiver itself"<br>
        aCanvas<br>
            roundCornersOf: self<br>
            during: [ <br>
                (aCanvas isVisible: self bounds)<br>
                    ifTrue: [ aCanvas drawMorph: self ].<br>
                self drawSubmorphsOn: aCanvas.<br>
                self drawDropHighlightOn: aCanvas.<br>
                self drawMouseDownHighlightOn: aCanvas ] ] in
        TextMorphForEditView(Morph)>>fullDrawOn: in Block: [ ...<br>
        BlockClosure>>on:do:<br>
        TextMorphForEditView(Morph)>>fullDrawOn:<br>
        FormCanvas(Canvas)>>fullDraw:<br>
        FormCanvas(Canvas)>>fullDrawMorph:<br>
        [ :m | myCanvas fullDrawMorph: m ] in [ :myCanvas | <br>
        (self angle ~= 0.0 or: [ self scale ~= 1.0 ])<br>
            ifTrue: [ FreeTypeSettings current forceNonSubPixelDuring: [
        submorphs reverseDo: [ :m | myCanvas fullDrawMorph: m ] ] ]<br>
            ifFalse: [ submorphs reverseDo: [ :m | myCanvas
        fullDrawMorph: m ] ] ] in TransformMorph>>drawSubmorphsOn:
        in Block: [ :m | myCanvas fullDrawMorph: m ]<br>
        Array(SequenceableCollection)>>reverseDo:<br>
        [ :myCanvas | <br>
        (self angle ~= 0.0 or: [ self scale ~= 1.0 ])<br>
            ifTrue: [ FreeTypeSettings current forceNonSubPixelDuring: [
        submorphs reverseDo: [ :m | myCanvas fullDrawMorph: m ] ] ]<br>
            ifFalse: [ submorphs reverseDo: [ :m | myCanvas
        fullDrawMorph: m ] ] ] in TransformMorph>>drawSubmorphsOn:
        in Block: [ :myCanvas | ...<br>
        FormCanvas>>transformBy:clippingTo:during:smoothing:<br>
        TransformMorph>>drawSubmorphsOn:<br>
        [ <br>
        (aCanvas isVisible: self bounds)<br>
            ifTrue: [ aCanvas drawMorph: self ].<br>
        self drawSubmorphsOn: aCanvas.<br>
        self drawDropHighlightOn: aCanvas.<br>
        self drawMouseDownHighlightOn: aCanvas ] in [ <br>
        "Note: At some point we should generalize this into some sort of
        <br>
                multi-canvas so that we can cross-optimize some drawing
        operations."<br>
        "Pass 1: Draw eventual drop-shadow"<br>
        self hasDropShadow<br>
            ifTrue: [ self drawDropShadowOn: aCanvas ].    "Pass 2: Draw
        receiver itself"<br>
        aCanvas<br>
            roundCornersOf: self<br>
            during: [ <br>
                (aCanvas isVisible: self bounds)<br>
                    ifTrue: [ aCanvas drawMorph: self ].<br>
                self drawSubmorphsOn: aCanvas.<br>
                self drawDropHighlightOn: aCanvas.<br>
                self drawMouseDownHighlightOn: aCanvas ] ] in
        TransformMorph(Morph)>>fullDrawOn: in Block: [ ...<br>
        FormCanvas>>roundCornersOf:in:during:<br>
        FormCanvas(Canvas)>>roundCornersOf:during:<br>
        [ <br>
        "Note: At some point we should generalize this into some sort of
        <br>
                multi-canvas so that we can cross-optimize some drawing
        operations."<br>
        "Pass 1: Draw eventual drop-shadow"<br>
        self hasDropShadow<br>
            ifTrue: [ self drawDropShadowOn: aCanvas ].    "Pass 2: Draw
        receiver itself"<br>
        aCanvas<br>
            roundCornersOf: self<br>
            during: [ <br>
                (aCanvas isVisible: self bounds)<br>
                    ifTrue: [ aCanvas drawMorph: self ].<br>
                self drawSubmorphsOn: aCanvas.<br>
                self drawDropHighlightOn: aCanvas.<br>
                self drawMouseDownHighlightOn: aCanvas ] ] in
        TransformMorph(Morph)>>fullDrawOn: in Block: [ ...<br>
        BlockClosure>>on:do:<br>
        TransformMorph(Morph)>>fullDrawOn:<br>
        FormCanvas(Canvas)>>fullDraw:<br>
        <br>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">2014-08-03 18:12 GMT+02:00 stepharo <span
            dir="ltr"><<a moz-do-not-send="true"
              href="mailto:stepharo@free.fr" target="_blank">stepharo@free.fr</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
             Hi guys<br>
            <br>
            We finished (we hope) a really long effort to be such that
            we cannot have "negative" rectangles.<br>
            It implied fixing around 250 users of layoutFrame and a lot
            more.<br>
            <br>
            We introduced point:point: to create rectangles.<br>
            We improved many little points.<br>
            <br>
            We deeply tested the image but we never know it may happen
            that a layout policy produce strange rectangles again.<br>
            If you find some glitches we will fix them.<br>
            <br>
            Stef and Igor<br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>