The Trunk: Morphic-dtl.1369.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-dtl.1369.mcz

commits-2
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"!