[Pkg] 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:

==================== 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 Packages mailing list