[squeak-dev] The Trunk: Morphic-dtl.1369.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Nov 20 13:37:38 UTC 2017
David T. Lewis uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-dtl.1369.mcz
==================== Summary ====================
Name: Morphic-dtl.1369
Author: dtl
Time: 20 November 2017, 8:37:22.350027 am
UUID: 31d4ec2b-70bb-4e81-8d00-cb186a2fb85c
Ancestors: Morphic-dtl.1368
Replace references to World with project current world.
Note: These two method were updated previously but one each reference to World was missed.
=============== Diff against Morphic-dtl.1368 ===============
Item was changed:
----- Method: MorphicProject>>storeSegment (in category 'file in/out') -----
storeSegment
"Store my project out on the disk as an ImageSegment. Keep the outPointers in memory. Name it <project name>.seg. *** Caller must be holding (Project alInstances) to keep subprojects from going out. ***"
+ | currentWorld is sizeHint |
+ currentWorld := Project current world.
+ (currentWorld == world) ifTrue: [^ false].
- | is sizeHint |
- (Project current world == world) ifTrue: [^ false].
"self inform: 'Can''t send the current world out'."
world isInMemory ifFalse: [^ false]. "already done"
world ifNil: [^ false]. world presenter ifNil: [^ false].
ScrapBook default emptyScrapBook.
+ currentWorld checkCurrentHandForObjectToPaste.
- World checkCurrentHandForObjectToPaste.
world releaseSqueakPages.
sizeHint := self projectParameters at: #segmentSize ifAbsent: [0].
is := ImageSegment
copyFromRootsLocalFileFor: {world presenter. world} "world, and all Players"
sizeHint: sizeHint.
is state = #tooBig ifTrue: [^ false].
is segment size < 2000 ifTrue: ["debugging"
Transcript show: self name, ' only ', is segment size printString,
'bytes in Segment.'; cr].
self projectParameters at: #segmentSize put: is segment size.
is extract; writeToFile: self name.
^ true!
Item was changed:
----- Method: MorphicProject>>storeSegmentNoFile (in category 'file in/out') -----
storeSegmentNoFile
"For testing. Make an ImageSegment. Keep the outPointers in memory. Also useful if you want to enumerate the objects in the segment afterwards (allObjectsDo:)"
+ | is currentWorld |
+ currentWorld := Project current world.
+ (currentWorld == world) ifTrue: [^ self]. " inform: 'Can''t send the current world out'."
- | is |
- (Project current world == world) ifTrue: [^ self]. " inform: 'Can''t send the current world out'."
world isInMemory ifFalse: [^ self]. "already done"
world ifNil: [^ self]. world presenter ifNil: [^ self].
"Do this on project enter"
+ currentWorld flapTabs do: [:ft | ft referent adaptToWorld: World].
- World flapTabs do: [:ft | ft referent adaptToWorld: World].
"Hack to keep the Menu flap from pointing at my project"
"Preferences setPreference: #useGlobalFlaps toValue: false."
"Utilities globalFlapTabsIfAny do:
[:aFlapTab | Utilities removeFlapTab: aFlapTab keepInList: false].
Utilities clobberFlapTabList. "
"project world deleteAllFlapArtifacts."
"self currentWorld deleteAllFlapArtifacts. "
ScrapBook default emptyScrapBook.
+ currentWorld checkCurrentHandForObjectToPaste2.
- World checkCurrentHandForObjectToPaste2.
is := ImageSegment
copyFromRootsLocalFileFor: {world presenter. world} "world, and all Players"
sizeHint: 0.
is segment size < 800 ifTrue: ["debugging"
Transcript show: self name, ' did not get enough objects'; cr. ^ Beeper beep].
is extract.
"is instVarAt: 2 put: is segment clone." "different memory"!
More information about the Squeak-dev
mailing list
|