[squeak-dev] The Trunk: System-dtl.211.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Dec 29 04:39:00 UTC 2009
David T. Lewis uploaded a new version of System to project The Trunk:
==================== Summary ====================
Time: 28 December 2009, 11:34:34 am
Rename #startUpComplete to #wakeUpTopWindow because it is used in contexts other than image startup. Change ChangesOrganizer class>>reorderChangesSets to use 'Project current wakeUpTopWindow' rather than an #isMorphic test.
=============== Diff against System-dtl.210 ===============
Item was added:
+ ----- Method: Project>>wakeUpTopWindow (in category 'enter') -----
+ "Image has been restarted, and the startUp list has been processed. Perform
+ any additional actions needed to restart the user interface."
+ ^ self!
Item was changed:
----- Method: SmalltalkImage>>snapshot:andQuit:embedded: (in category 'snapshot and quit') -----
snapshot: save andQuit: quit embedded: embeddedFlag
"Mark the changes file and close all files as part of #processShutdownList.
If save is true, save the current state of this Smalltalk in the image file.
If quit is true, then exit to the outer OS shell.
The latter part of this method runs when resuming a previously saved image. This resume logic checks for a document file to process when starting up."
| resuming msg |
(SourceFiles at: 2) ifNotNil:[
msg := String streamContents: [ :s |
s nextPutAll: '----';
nextPutAll: (save ifTrue: [ quit ifTrue: [ 'QUIT' ] ifFalse: [ 'SNAPSHOT' ] ]
ifFalse: [quit ifTrue: [ 'QUIT/NOSAVE' ] ifFalse: [ 'NOP' ]]);
print: Date dateAndTimeNow; space;
nextPutAll: (FileDirectory default localNameFor: self imageName);
nextPutAll: ' priorSource: ';
print: LastQuitLogPosition ].
save ifTrue: [ LastQuitLogPosition := (SourceFiles at: 2) setToEnd; position ].
self logChange: msg.
Transcript cr; show: msg
Smalltalk processShutDownList: quit.
Cursor write show.
save ifTrue: [resuming := embeddedFlag
ifTrue: [self snapshotEmbeddedPrimitive]
ifFalse: [self snapshotPrimitive]. "<-- PC frozen here on image file"
resuming == false "guard against failure" ifTrue:
["Time to reclaim segment files is immediately after a save"
Smalltalk at: #ImageSegment
ifPresent: [:theClass | theClass reclaimObsoleteSegmentFiles]]]
ifFalse: [resuming := false].
quit & (resuming == false) ifTrue: [self quitPrimitive].
Cursor normal show.
resuming == true ifTrue: [Smalltalk clearExternalObjects].
Smalltalk processStartUpList: resuming == true.
resuming == true ifTrue:[
+ Project current wakeUpTopWindow.
- Project current startUpComplete.
"Now it's time to raise an error"
resuming == nil ifTrue: [self error:'Failed to write image file (disk full?)'].
Item was removed:
- ----- Method: Project>>startUpComplete (in category 'enter') -----
- "Image has been restarted, and the startUp list has been processed. Perform
- any additional actions needed to restart the user interface."
- ^ self!
More information about the Squeak-dev