[squeak-dev] The Trunk: Multilingual-cmm.106.mcz

Josh Gargus josh at schwa.ca
Tue Mar 23 20:45:14 UTC 2010


On Mar 23, 2010, at 12:51 PM, Chris Muller wrote:

> I have been running with this code since 2007, and have not noticed
> any visual glitches.  But here is a copy of the (interrupted) stack
> overflow I get without this fix.
> 


I was just curious.  Even if there were artifacts, that would still beat a crash.  And even if there were, it wouldn't bother me, because I don't embed many morphs in text these days (I used to, a lot).  Are you still working on Maui?

Cheers,
Josh



> 
> 
> On Tue, Mar 23, 2010 at 2:32 PM, Josh Gargus <josh at schwa.ca> wrote:
>> On Mar 23, 2010, at 12:28 PM, karl ramberg wrote:
>> 
>>> Small nit,
>>> shouldn't the assigment be := ?
>>> 
>> 
>> 
>> I was about to ask the same question.
>> 
>> Also, what are the implications of not sending #setFont?  Can this introduce visual glitches?
>> 
>> Cheers,
>> Josh
>> 
>> 
>> 
>>> Karl
>>> 
>>> On Tue, Mar 23, 2010 at 7:09 PM,  <commits at source.squeak.org> wrote:
>>>> Chris Muller uploaded a new version of Multilingual to project The Trunk:
>>>> http://source.squeak.org/trunk/Multilingual-cmm.106.mcz
>>>> 
>>>> ==================== Summary ====================
>>>> 
>>>> Name: Multilingual-cmm.106
>>>> Author: cmm
>>>> Time: 23 March 2010, 2:07:45.842 pm
>>>> UUID: 5df01747-88b8-4df7-80ad-dd2d3d263a04
>>>> Ancestors: Multilingual-nice.105
>>>> 
>>>> Fix for potential stack-overflow when trying to embed a Morph into a TextMorph.
>>>> 
>>>> =============== Diff against Multilingual-nice.105 ===============
>>>> 
>>>> Item was changed:
>>>>  ----- Method: MultiCharacterScanner>>placeEmbeddedObject: (in category 'scanning') -----
>>>>  placeEmbeddedObject: anchoredMorph
>>>>        "Place the anchoredMorph or return false if it cannot be placed.
>>>>        In any event, advance destX by its width."
>>>>        | w |
>>>>        "Workaround: The following should really use #textAnchorType"
>>>>        anchoredMorph relativeTextAnchorPosition ifNotNil:[^true].
>>>> +       destX _ destX + (w _ anchoredMorph width).
>>>> -       destX := destX + (w := anchoredMorph width).
>>>>        (destX > rightMargin and: [(leftMargin + w) <= rightMargin])
>>>>                ifTrue: ["Won't fit, but would on next line"
>>>>                                ^ false].
>>>> +       lastIndex _ lastIndex + 1.
>>>> +       "self setFont."  "Force recalculation of emphasis for next run"
>>>> -       lastIndex := lastIndex + 1.
>>>> -       self setFont.  "Force recalculation of emphasis for next run"
>>>>        ^ true!
>>>> 
>>>> 
>>>> 
>>> 
>> 
>> 
>> 
> <stackOverflow.txt>




More information about the Squeak-dev mailing list