The Trunk: EToys-nice.431.mcz

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

The Trunk: EToys-nice.431.mcz

commits-2
Nicolas Cellier uploaded a new version of EToys to project The Trunk:
http://source.squeak.org/trunk/EToys-nice.431.mcz

==================== Summary ====================

Name: EToys-nice.431
Author: nice
Time: 6 March 2021, 11:05:12.703005 pm
UUID: 11b19c19-a51f-7e4b-99b2-9f0497baebb1
Ancestors: EToys-mt.430

At the time this #MultiSymbolInWrongPlace backward compatibility workaround was written (before 2009), Dictionary was a subclass of Set, so the method did also rehash every Dictionary.

Since 2010, Dictionary isNoMoreKindOf: Set, so if this workaround is of any use at all (?), restore its original intention, which is to rehash every HashedCollection.

=============== Diff against EToys-mt.430 ===============

Item was changed:
  ----- Method: ProjectLoading class>>loadImageSegment:fromDirectory:withProjectView:numberOfFontSubstitutes:substituteFont:mgr: (in category '*etoys') -----
  loadImageSegment: morphOrList  fromDirectory: aDirectoryOrNil withProjectView: existingView numberOfFontSubstitutes: numberOfFontSubstitutes substituteFont: substituteFont mgr: mgr
 
  | proj projectsToBeDeleted ef f |
  (f := (Flaps globalFlapTabWithID: 'Navigator' translated)) ifNotNil: [f hideFlap].
  proj := morphOrList arrayOfRoots
  detect: [:mm | mm isKindOf: Project]
  ifNone: [^ nil].
  numberOfFontSubstitutes > 0 ifTrue: [
  proj projectParameterAt: #substitutedFont put: substituteFont].
  ef := proj projectParameterAt: #eToysFont.
  (ef isNil or: [ef ~= substituteFont familySizeFace]) ifTrue: [
  proj projectParameterAt: #substitutedFont put: substituteFont.
  ].
  proj projectParameters at: #MultiSymbolInWrongPlace put: false.
  "Yoshiki did not put MultiSymbols into outPointers in older images!!"
  morphOrList arrayOfRoots do: [:obj |
  obj fixUponLoad: proj seg: morphOrList "imageSegment"].
  (proj projectParameters at: #MultiSymbolInWrongPlace) ifTrue: [
+ morphOrList arrayOfRoots do: [:obj | (obj isKindOf: HashedCollection ) ifTrue: [obj rehash]]].
- morphOrList arrayOfRoots do: [:obj | (obj isKindOf: Set) ifTrue: [obj rehash]]].
 
  proj resourceManager: mgr.
  "proj versionFrom: preStream."
  proj lastDirectory: aDirectoryOrNil.
  proj setParent: Project current.
  projectsToBeDeleted := OrderedCollection new.
  existingView == #none ifFalse: [
  self makeExistingView: existingView project: proj projectsToBeDeleted: projectsToBeDeleted].
  ChangeSet allChangeSets add: proj changeSet.
  Project current projectParameters
  at: #deleteWhenEnteringNewProject
  ifPresent: [ :ignored |
  projectsToBeDeleted add: Project current.
  Project current removeParameter: #deleteWhenEnteringNewProject.
  ].
  projectsToBeDeleted isEmpty ifFalse: [
  proj projectParameters
  at: #projectsToBeDeleted
  put: projectsToBeDeleted.
  ].
  proj removeParameter: #eToysFont.
  ^ proj!