class: AbstractOperatingSystem
authorClaus Gittinger <cg@exept.de>
Mon, 17 Dec 2012 20:38:30 +0100
changeset 14604 cc6062243652
parent 14603 f73f90e25023
child 14605 90d502689de9
class: AbstractOperatingSystem changed: #errorStringForSymbol: avoid never ending storing when resources of libbasic are inaccessable.
AbstractOperatingSystem.st
--- a/AbstractOperatingSystem.st	Mon Dec 17 20:37:33 2012 +0100
+++ b/AbstractOperatingSystem.st	Mon Dec 17 20:38:30 2012 +0100
@@ -673,14 +673,18 @@
      (as kept in an osErrorHolder)."
 
     Resources isNil ifTrue:[
-	"/ do not care to load resource strings, if the error happens durig early initialization
-	Smalltalk isInitialized ifFalse:[
-	    ^ errorSymbol
-	].
-	self initResources.
-	Resources isNil ifTrue:[
-	    ^ errorSymbol
-	]
+        "/ do not care to load resource strings, if the error happens during early initialization
+        Smalltalk isInitialized ifFalse:[
+            ^ errorSymbol
+        ].
+        "/ avoid endless recursion
+        Error handle:[:ex |
+        ] do:[
+            self initResources.
+        ].
+        Resources isNil ifTrue:[
+            ^ errorSymbol
+        ]
     ].
     ^ Resources at:errorSymbol ifAbsent:errorSymbol
 
@@ -7146,11 +7150,12 @@
 !AbstractOperatingSystem class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.222 2012-12-13 13:52:25 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.223 2012-12-17 19:38:30 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.222 2012-12-13 13:52:25 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/AbstractOperatingSystem.st,v 1.223 2012-12-17 19:38:30 cg Exp $'
 ! !
 
+
 AbstractOperatingSystem initialize!