A new version of System was added to project The Inbox:
http://source.squeak.org/inbox/System-cao.374.mcz==================== Summary ====================
Name: System-cao.374
Author: cao
Time: 7 September 2010, 4:25:03.391 pm
UUID: eb5487e5-bb17-4b41-8f2e-12a475879f44
Ancestors: System-ar.372
The new SchemeRegistry for URL types interacts badly with Project resourceUrl. The unadorned project name causes GenericUrl to be used, and privateInitializeFromText: throws an exception.
Easy demo of this for the trunk of 2010/9/6:
I) Set the background image for the root project.
II) Make a new project.
III) Go to previous project.
IV) See debug come up. :(
Ugly workaround: make Project>>resourceUrl append
project:/// instreat of returning an unadorned project name.
Under this change, HierarchicalUrl is used instead of GenericUrl. I have no idea what this may break though!
=============== Diff against System-ar.372 ===============
Item was changed:
----- Method: Project>>resourceUrl (in category 'resources') -----
resourceUrl
"compose my base url for resources on the server"
| firstURL |
"
primaryServer := self primaryServerIfNil: [^''].
firstURL := primaryServer altUrl ifNil: [primaryServer url]."
firstURL := self downloadUrl.
firstURL isEmpty
+ ifFalse: [firstURL last == $/ ifFalse: [firstURL := firstURL, '/']]
+ ifTrue: [firstURL := 'project:///'].
- ifFalse: [firstURL last == $/ ifFalse: [firstURL := firstURL, '/']].
^ firstURL, self resourceDirectoryName , '/'
!