Anonymous | Login | 02-27-2021 06:14 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
0007506 | [Squeak] Morphic | minor | always | 04-16-10 03:56 | 04-16-10 03:57 | |||||||
Reporter | wiz | View Status | public | |||||||||
Assigned To | ||||||||||||
Priority | none | Resolution | open | |||||||||
Status | assigned | Product Version | trunk | |||||||||
Summary | 0007506: Opened morphs are infinitely recursive when sent #storeOn: | |||||||||||
Description |
In a fresh squeak 9948 (RC5) Open new project Open workspace Type: "Morph new openCenteredInWorld storeOn: (foo := String new writeStream) ." Doit. After a while stop with Alt-. In the debugger look at the variable aStream. Note the infinite loop. |
|||||||||||
Additional Information |
Basicly an opened morph tries to store its owner Its owner tries to store its submorphs which include the opened morph. The #storeOn: is very simplistic storing ivars index by index. I did this in a context of curiosity and trying to find a way of serializing a morph in words s.t. the essentials of the morph could be recreated. Since any use of this would have caused an immediately noticable problem I have concluded that no one uses this selector with morphs. So there in no priority to solving the problem by itself. There is a reasonable need to serialize a world other than the way it is currently done in projects. a smarter, working StoreOn: would be useful for this. Basically, store ivars by name. Keep a set of visited morphs and note the second time you are visiting to avoid the recursion. |
|||||||||||
Attached Files | ||||||||||||
|
There are no notes attached to this issue. |
Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
34 total queries executed. 28 unique queries executed. |