Andreas Raab uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-ar.283.mcz==================== Summary ====================
Name: Morphic-ar.283
Author: ar
Time: 3 January 2010, 2:16:51 am
UUID: 357490e2-cd3c-0844-b1d7-d079fc35d2d5
Ancestors: Morphic-ul.282
Make Nebraska unloadable. Some methods in Worldstate need to remain in the Morphic package otherwise things blow up after unloading Nebraska.
=============== Diff against Morphic-ul.282 ===============
Item was added:
+ ----- Method: WorldState>>remoteServer: (in category 'Nebraska support') -----
+ remoteServer: aNebraskaServer
+ remoteServer ifNotNil:[remoteServer destroy].
+ remoteServer := aNebraskaServer.
+ self canvas: nil.!
Item was added:
+ ----- Method: WorldState>>assuredRemoteCanvas (in category 'Nebraska support') -----
+ assuredRemoteCanvas
+ | newCanvas |
+ (self canvas notNil) ifTrue: [ ^self canvas ].
+ newCanvas := MultiCanvas new.
+ newCanvas depth: 32.
+ newCanvas extent: viewBox extent.
+ self remoteCanvasesDo: [ :c | newCanvas addCanvas: c ].
+ newCanvas addCanvas: Display getCanvas.
+
+ "newCanvas := CachingCanvas on: newCanvas."
+ self canvas: newCanvas.
+ ^newCanvas!
Item was added:
+ ----- Method: WorldState>>remoteCanvasesDo: (in category 'Nebraska support') -----
+ remoteCanvasesDo: aBlock
+ remoteServer ifNil:[^self].
+ ^remoteServer clients do:[:client| aBlock value: client canvas]!
Item was added:
+ ----- Method: WorldState>>addRemoteCanvas: (in category 'Nebraska support') -----
+ addRemoteCanvas: c
+ self canvas: nil. "force recomputation"!
Item was added:
+ ----- Method: WorldState>>removeRemoteCanvas: (in category 'Nebraska support') -----
+ removeRemoteCanvas: c
+ self canvas: nil. "force withdrawal of remote from MultiCanvas"
+ !
Item was added:
+ ----- Method: WorldState>>remoteServer (in category 'Nebraska support') -----
+ remoteServer
+ ^remoteServer!
Item was added:
+ ----- Method: WorldState>>releaseRemoteServer (in category 'Nebraska support') -----
+ releaseRemoteServer
+ "My server has been transferred to some other world. Release pending references"
+ remoteServer := nil.
+ self canvas: nil.!