Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007642 [Squeak] Tools minor always 06-05-11 13:19 07-18-11 21:23
Reporter FrankShearar View Status public  
Assigned To FrankShearar
Priority normal Resolution open  
Status assigned   Product Version trunk
Summary 0007642: MNUs on Windows "right click" when another debugger open
Description I've run twice today into a situation where, after having failing tests in the TestRunner, "right click"ing the desktop results in a MessageNotUnderstood: MethodReference>>do:.

The "aCollection" being passed around is actually a MethodReference: MessageTrace >> browseAllImplementorsOf:.

If you open a Trunk (11458), run the ToolsTest suite, you'll see two failing tests. Click the top failing test, and the debugger pops up. Now yellow-click (?) the desktop, and you'll see the error.

Close the failing-test-debugger, and the problem disappears!

Additional Information
Attached Files

- Relationships

- Notes
(0014138 - 440 - 502 - 502 - 502 - 502 - 502)
06-05-11 13:43

The offender is a MessageTrace, which has a LazyListMorph containing MethodReferences.

I don't know where the MessageTrace comes from, but that LazyListMorph's getting its contents from the MessageTrace's messageList, which intentionally contains MethodReferences.

Possibly, MessageTrace's buildMessageListWith: should reference a new method #messageListAsStrings:

    ^ self messageList collect: #printString
(0014141 - 536 - 564 - 746 - 746 - 746 - 746)
06-10-11 13:32

If PluggableListMorph and/or LazyListMorph should be able to hold non-string objects in their lists, then the #userString method should be fixed, otherwise we should ensure that only strings are added to the lists as you suggested.
In Morphic-cmm.523 Chris wanted to "allow LazyListMorphs to be populated with first-class Objects rather than just Strings", but the solution seems to be incomplete. I'm not sure PluggableListMorph can be easily updated the same way. [^]
(0014164 - 466 - 490 - 490 - 490 - 490 - 490)
07-18-11 21:23

Bert modified PluggableListMorph >> #userString to send #asStringOrText to the list items. Since only Text responds to #asStringOrText differently than #asString, and writing a Text to a stream is no different than writing a string to a stream, therefore I think it's safe to use #asString instead of #asStringOrText.
Btw, PluggableListMorph (and subclasses) along with LazyListMorph is a bit messy and should be cleaned/refactored.

Anyway, this issue is solved.

- Issue History
Date Modified Username Field Change
06-05-11 13:19 FrankShearar New Issue
06-05-11 13:19 FrankShearar Status new => assigned
06-05-11 13:19 FrankShearar Assigned To  => FrankShearar
06-05-11 13:43 FrankShearar Note Added: 0014138
06-10-11 13:32 leves Note Added: 0014141
07-18-11 21:23 leves Note Added: 0014164

Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
42 total queries executed.
33 unique queries executed.
Powered by Mantis Bugtracker