Do not block an lazy values (e.g. Futures)
authorStefan Vogel <sv@exept.de>
Mon, 15 Oct 2012 11:40:13 +0200
changeset 11835 ce6eddec9960
parent 11834 ac5e0e017274
child 11836 224a4d109673
Do not block an lazy values (e.g. Futures) changed: #iconForValue: #listEntryForName:value: #plainValueStringInListEntryForValue:
InspectorView.st
--- a/InspectorView.st	Mon Oct 08 14:42:00 2012 +0200
+++ b/InspectorView.st	Mon Oct 15 11:40:13 2012 +0200
@@ -2127,6 +2127,9 @@
     anObject isNil ifTrue:[
         ^ self class imageFor_nil
     ].
+    anObject isLazyValue ifTrue:[
+        ^ self class imageFor_others
+    ].
     anObject isNumber ifTrue:[
         anObject isInteger ifTrue:[
             ^ self class imageFor_integers
@@ -2187,7 +2190,7 @@
         ^ nameString
     ] do:[
         entryString := nameString allBold,(self valueStringInListEntryForValue:value).
-        (value isColor and:[value red notNil]) ifTrue:[
+        (value isLazyValue not and:[value isColor and:[value red notNil]]) ifTrue:[
             entryString := entryString
                          , '  ' , ('   '
                             colorizeAllWith:((value brightness < 0.5)
@@ -2216,7 +2219,10 @@
         ].
         ^ nil
     ].
-
+    value isLazyValue ifTrue:[
+        "do not block on not yet finished Futures et al"
+        ^ '>>Lazy value<<'
+    ].
     (value isNumber or:[value isBoolean]) ifTrue:[
         ^ self basicDisplayStringForValue:value "value printString"
     ].
@@ -3328,9 +3334,9 @@
 !InspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.281 2012-09-27 19:54:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.282 2012-10-15 09:40:13 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.281 2012-09-27 19:54:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.282 2012-10-15 09:40:13 stefan Exp $'
 ! !