[squeak-dev] The Trunk: Morphic-dtl.670.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Jul 13 21:26:14 UTC 2013
David T. Lewis uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-dtl.670.mcz
==================== Summary ====================
Name: Morphic-dtl.670
Author: dtl
Time: 13 July 2013, 5:24:40.403 pm
UUID: 6abe3ab4-17fa-424a-9446-622cb430dc79
Ancestors: Morphic-dtl.669
Project class>>initialize is obsolete because it initializes CurrentProject with an instance of Project (not MorphicProject) and starts its (Morphic) UI process. Move the logic into MorphicProject class>>initialize where it will probably work as intended. Add similar initialization to MVCProject (untested). Remove broken Project class>>initialize.
Move some Morphic-specific utilities from class side of Project to MorphicProject, but keep methods in Project class in case of references from image segments (not sure if this is a real concern).
=============== Diff against Morphic-dtl.669 ===============
Item was changed:
----- Method: MorphicProject class>>initialize (in category 'class initialization') -----
initialize "MorphicProject initialize"
"Initialize the default Morphic Project background"
self defaultFill: (InfiniteForm with: self defaultBackgroundForm).
+ CurrentProject ifNil:
+ ["This is the Top Project."
+ CurrentProject := super new initialProject.
+ CurrentProject spawnNewProcessAndTerminateOld: true].
self convertOldProjects.
Project current isMorphic ifTrue:[
"Set the default background in the current world"
Project current world color: self defaultFill.
+ ].
+ !
- ].!
Item was changed:
----- Method: MorphicProject>>scheduleProcessForEnter: (in category 'enter') -----
scheduleProcessForEnter: showZoom
"Complete the enter: by launching a new process"
self finalEnterActions.
world repairEmbeddedWorlds.
world triggerEvent: #aboutToEnterWorld.
+ Project current spawnNewProcessAndTerminateOld: true
- Project spawnNewProcessAndTerminateOld: true
!
Item was added:
+ ----- Method: MorphicProject>>spawnNewProcessAndTerminateOld: (in category 'active process') -----
+ spawnNewProcessAndTerminateOld: terminate
+
+ self spawnNewProcess.
+ terminate
+ ifTrue: [Processor terminateActive]
+ ifFalse: [Processor activeProcess suspend]!
Item was changed:
----- Method: PasteUpMorph>>restartWorldCycleWithEvent: (in category 'WiW support') -----
restartWorldCycleWithEvent: evt
"RAA 27 Nov 99 - redispatch that click picked up from our inner world"
evt ifNotNil: [
self primaryHand handleEvent: (evt setHand: self primaryHand).
].
+ Project current spawnNewProcessAndTerminateOld: true
- Project spawnNewProcessAndTerminateOld: true
!
More information about the Squeak-dev
mailing list
|