class: AbstractFileBrowser
changed:
#convertImageFrom:to:onError:
#convertImageUsingExternalFileToolsFrom:toSuffix:onError:
#cvsCommitFiles:
secure tempfile creation
--- 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 $'
! !