David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.181.mcz==================== Summary ====================
Name: System-dtl.181
Author: dtl
Time: 28 November 2009, 6:23:28 am
UUID: cd5e027f-af69-42b3-a6bc-47e49e1b5af8
Ancestors: System-kb.180
Update project class>>deletingProject: to remove explicit dependency on ProjectViewMorph
=============== Diff against System-kb.180 ===============
Item was changed:
----- Method: Project class>>deletingProject: (in category 'utilities') -----
deletingProject: outgoingProject
+ | pvmClass |
+ pvmClass := Smalltalk at: #ProjectViewMorph ifAbsent: [nil].
ImageSegment allSubInstancesDo: [:seg |
seg ifOutPointer: outgoingProject thenAllObjectsDo: [:obj |
+ (obj isKindOf: pvmClass) ifTrue: [obj deletingProject: outgoingProject. obj abandon].
- (obj isKindOf: ProjectViewMorph) ifTrue: [
- obj deletingProject: outgoingProject. obj abandon].
(obj isKindOf: Project) ifTrue: [obj deletingProject: outgoingProject]]].
+ self allProjects do: [:p | p deletingProject: outgoingProject]. "ones that are in"
+ pvmClass ifNotNil: [
+ pvmClass allSubInstancesDo: [:p |
+ p deletingProject: outgoingProject.
+ p project == outgoingProject ifTrue: [p abandon]]].
- Project allProjects do: [:p | p deletingProject: outgoingProject]. "ones that are in"
- ProjectViewMorph allSubInstancesDo: [:p |
- p deletingProject: outgoingProject.
- p project == outgoingProject ifTrue: [p abandon]].
-
AllProjects := self allProjects copyWithout: outgoingProject.!