PluggableTextMorph and friends are a mess, i've tried to clean it up once and found it to be really hard. I will be showing the support for text in Shapes ( the UI framework used by Gaucho), which lays out text using Pango, and renderers it using Athens (with a Cairo backend). Simple and yet powerful, thanks to Pango. Fernando On Mon, May 21, 2012 at 12:42 PM, Guillermo Polito <guillermopolito@gmail.com> wrote:
Nice, the paragraph is calculated about 7~8 times in a pluggable text morph (depending on the user).
And since the composition of a paragraph for a long method takes long (some minutes), it takes 7 times to render it (I've never was able to wait for it. Â I always lose my patience before).
Guille
On Mon, May 21, 2012 at 11:41 AM, Guillermo Polito <guillermopolito@gmail.com<mailto:guillermopolito@gmail.com>> wrote: Browsing a long method (lets say, of ~270KB of sourcecode) just hangs the image.
Interrupting doesn't even give me control over my image again. Â It does no open a debugger, but info is printed in stdout, so I assume that my UIProcess died, but the event fetcher is still alive...
One of the processes that get interrupted prints:
SmallIdentityDictionary(SmallDictionary)>>at:ifAbsent: MorphExtension>>valueOfProperty:ifAbsent: MorphExtension>>valueOfProperty: ScrollBar(Morph)>>valueOfProperty: ScrollBar(Morph)>>theme ScrollBar>>normalThumbFillStyle ScrollBar>>adoptGradientColor: ScrollBar>>sliderColor: ScrollBar>>adoptPaneColor: PluggableMultiColumnListMorph(Morph)>>adoptPaneColor: in Block: [:m | m adoptPaneColor: paneColor]
So I just changed #adoptPaneColor: in ScrollBar to do nothing, and I am able to interrupt again. So it makes me think here it is where the UIProcess gets killed...
Now, for the browser stuff, it seems that TextComposer>>#composeAllLines never finishes. Â I'm still investigating, but any clue is helpful :).
Guille