XWDReader.st
changeset 461 bacef118f54a
parent 398 aef700d15416
child 623 ea587e8fd435
--- a/XWDReader.st	Thu Feb 27 12:05:52 1997 +0100
+++ b/XWDReader.st	Thu Feb 27 12:50:58 1997 +0100
@@ -189,8 +189,15 @@
     |aStream rgbColor paletteColors ncolors dumpName headerSize|
 
     (self class canRepresent:image) ifFalse:[
-        self error:'XWD format only supports 8bit palette images'.
-        ^ nil
+        ^ Image cannotRepresentImageSignal 
+            raiseWith:image
+            errorString:('XWD format cannot represent this image').
+    ].
+
+    image mask notNil ifTrue:[
+        Image informationLostQuerySignal
+            raiseWith:image
+            errorString:('XWD format does not support an imageMask').
     ].
 
     dumpName := 'stdin'.
@@ -200,6 +207,12 @@
 
     "create the header (each item is 32 bits long)"
     aStream := fileName asFilename writeStream.
+    aStream isNil ifTrue:[
+        ^ Image fileCreationErrorSignal 
+            raiseWith:image
+            errorString:('file creation error: ' , fileName asString).
+    ].
+
     aStream binary.
     aStream nextLongPut: headerSize.                                "total header size in bytes"
     aStream nextLongPut: 7.                                         "XWD file version"
@@ -276,11 +289,13 @@
      XWDReader save:(Image fromUser) onFile: '/tmp/st.xwd' 
      (Image fromFile: '/tmp/st.xwd') inspect 
     "
+
+    "Modified: 27.2.1997 / 12:45:15 / cg"
 ! !
 
 !XWDReader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/XWDReader.st,v 1.18 1997-02-01 14:05:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/XWDReader.st,v 1.19 1997-02-27 11:50:47 cg Exp $'
 ! !
 XWDReader initialize!