class: AbstractFileBrowser
authorStefan Vogel <sv@exept.de>
Fri, 05 Jul 2013 16:03:07 +0200
changeset 13121 aa4a53f6b8e0
parent 13120 802c2877a68e
child 13122 f45c307b8a03
class: AbstractFileBrowser changed: #convertImageFrom:to:onError: #convertImageUsingExternalFileToolsFrom:toSuffix:onError: #cvsCommitFiles: secure tempfile creation
AbstractFileBrowser.st
--- a/AbstractFileBrowser.st	Fri Jul 05 15:48:39 2013 +0200
+++ b/AbstractFileBrowser.st	Fri Jul 05 16:03:07 2013 +0200
@@ -5508,8 +5508,8 @@
 
     OperatingSystem isMSWINDOWSlike ifTrue:[
         "/ save the log message into another tempFile ...
-        logTmp := Filename newTemporary.
-        s := logTmp writeStream.
+        s := FileStream newTemporary.
+        logTmp := s fileName.
         s nextPutAll:log.
         s close.
 
@@ -5969,7 +5969,6 @@
     and:[ writer canRepresent:image ]]) ifTrue:[
         "/ can do it with Smalltalk tools
         writer save:image onFile:outFile.
-        ^ self
     ] ifFalse:[
         "/ use external tools (pbm-package, if available)
         self 
@@ -6044,7 +6043,7 @@
 !
 
 convertImageUsingExternalFileToolsFrom:fileName toSuffix:outSuffix onError:exceptionBlock
-    |inFile outFile chainOfConversions conversionStream tempFileTemplate
+    |inFile outFile chainOfConversions conversionStream 
      eachConversionSuffixCommandPair eachConversionCommand eachConversionSuffix|
 
     chainOfConversions := self conversionChainFrom:(fileName suffix) to:outSuffix.
@@ -6055,23 +6054,22 @@
     ].
     conversionStream := chainOfConversions readStream.
 
-    tempFileTemplate  := Filename newTemporary.
-
     inFile := fileName.
     eachConversionSuffixCommandPair := conversionStream next.
     eachConversionCommand := eachConversionSuffixCommandPair key.
 
     eachConversionCommand == #readToXPM ifTrue:[
-        |image tempFileXPM|
+        |image tempStreamXPM|
 
         image := Image fromFile:(inFile pathName).
         image isNil ifTrue:[
             self warn:'Unknown format/not an image: ' , inFile baseName.
             ^ false.
         ].
-        tempFileXPM  := tempFileTemplate withSuffix:'xpm'.
-        image saveOn:tempFileXPM using:XPMReader.
-        inFile := tempFileXPM.
+        tempStreamXPM  := FileStream newTemporaryWithSuffix:'xpm'.
+        XPMReader save:image onStream:tempStreamXPM.
+        tempStreamXPM close.
+        inFile := tempStreamXPM fileName.
         eachConversionSuffixCommandPair := conversionStream next.
     ].
 
@@ -6084,7 +6082,7 @@
 
             self notify:(resources string:'Converting: %1 to %2...' with:fileName baseName with:eachConversionSuffix).
 
-            outFile := tempFileTemplate withSuffix:eachConversionSuffix.
+            outFile := (FileStream newTemporaryWithSuffix:eachConversionSuffix) close pathName.
             command := eachConversionCommand 
                             bindWith:(inFile pathName)
                             with:(outFile pathName).
@@ -9212,10 +9210,10 @@
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.533 2013-07-04 13:59:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.534 2013-07-05 14:03:07 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.533 2013-07-04 13:59:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.534 2013-07-05 14:03:07 stefan Exp $'
 ! !