[squeak-dev] [5.2a] styled text in a class comment spawns endless subscript out-of-bounds

Tim Johnson digit at sonic.net
Mon Jul 2 23:10:43 UTC 2018


Hi,

A class with styled text in its class comment, when a user mouses around 
in the text, can eventually trigger endless subscript out-of-bounds 
windows to pop up, requiring Cmd-. and 'close all windows like this'.  
(The styled text may have entered the class comment from a user pasting 
Shout-styled text from a method into the class comment.)

I have run into this one before but never pinpointed a cause.  This has 
probably been broken for some time.  I have updated my image to #18134 
and it still has the problem.  It may be related to a class with styled 
text being exported from one image and imported into another.

Maybe this would be a good one for a Mantis report.

How to reproduce:

1. File-in the .cs as attached*.
2. In a system browser, click on the class, then click on the [?] button 
to view class comment.
3. Notice the styled text in the comment.
4. Click around the comment pane a bit.
5. Eventually, see "Error: subscript is out of bounds: 71" appear over 
and over until you interrupt.

* this .cs is a slimmed-down and hand-edited version of a real file-out 
of a real class which was exhibiting this problem.  In preparing the .cs 
for this mailing, I've shortened the class name by three characters.  If 
you notice the "style[(1 35 18 20 3),f1,,b," doesn't match, this may be 
why.

.cs file and stack follow.

Thanks,
Tim

ByteString(Object)>>error:
ByteString(Object)>>errorSubscriptBounds:
ByteString(Object)>>at:
ByteString>>at:
CharacterBlockScanner(CharacterScanner)>>basicScanByteCharactersFrom:to:in:rightX:
CharacterBlockScanner(CharacterScanner)>>primScanCharactersFrom:to:in:rightX:stopConditions:kern:
CharacterBlockScanner(CharacterScanner)>>scanByteCharactersFrom:to:in:rightX:
StrikeFont(AbstractFont)>>scanByteCharactersFrom:to:in:with:rightX:
ByteString>>scanCharactersFrom:to:with:rightX:font:
CharacterBlockScanner(CharacterScanner)>>scanCharactersFrom:to:in:rightX:
CharacterBlockScanner>>characterBlockAtPoint:index:in:
NewParagraph>>characterBlockForIndex:
SmalltalkEditor(TextEditor)>>markIndex:pointIndex:
SmalltalkEditor(Editor)>>selectInvisiblyFrom:to:
SmalltalkEditor(TextEditor)>>selectFrom:to:
SmalltalkEditor(Editor)>>selectInterval:
PluggableTextMorphPlus(PluggableTextMorph)>>mouseEnter:
PluggableTextMorphPlus(Morph)>>handleMouseEnter:
MouseMoveEvent(MouseEvent)>>sentTo:
MouseMoveEvent>>sentTo:
PluggableTextMorphPlus(Morph)>>handleEvent:
[] in MouseOverHandler>>processMouseOver:
Array(SequenceableCollection)>>reverseDo:
MouseOverHandler>>processMouseOver:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in MorphicProject>>spawnNewProcess
[] in BlockClosure>>newProcess
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: FooClient.cs
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180702/d8901039/attachment.ksh>


More information about the Squeak-dev mailing list