For Linux and FreeBSD (WAS Re: JPEGReadWriter2Plugin - Where can I get a Win32 binary?)
Nick Brown
maillist at bredon-gill.demon.co.uk
Thu May 2 22:49:05 UTC 2002
On Thu, 02 May 2002 15:34:16 -0600, Nevin Pratt wrote:
>Now *I'm* confused. Won't the following test it?
>
> Form fromUser writeJPEGfileNamed: 'test.jpg' progressive: false.
>
Nevin,
Your code example works perfectly for me in Sq3.2g #4823, running on
Win ME, with the plugin that Andreas emailed to the list a few weeks
back. However, when I subsequently open a file list and attempt to
reload the jpg, I get a "Primitive Failed" in JPEGReadWriter2. (Debug
log below).
On the other hand, an old 3.2a #4599 image was able to load the image
fine (via the filelist), although from what I can tell, it's just
using the regular JPEGReadWriter to do that.
I can open in manually in 3.2a via the following doit...
(JPEGReadWriter2 on: (FileDirectory default fileNamed: 'test.jpg'))
nextImage asMorph openInWorld
but in 3.2g this again results in the "primitive failed" message.
Certainly strange.
Regards, Nick Brown
SqueakDebug.log.....
Error: a primitive has failed
2 May 2002 11:47:08 pm
VM: Win32 - Squeak3.1alpha of 28 February 2001 [latest update: #4044]
Image: Squeak3.2gamma [latest update: #4823]
JPEGReadWriter2(Object)>>error:
Receiver: a JPEGReadWriter2
Arguments and temporary variables:
aString: 'a primitive has failed'
Receiver's instance variables:
stream: StandardFileStream:
'E:\Download\Programming\Squeak\Squeak 3\test.jpg'
JPEGReadWriter2(Object)>>primitiveFailed
Receiver: a JPEGReadWriter2
Arguments and temporary variables:
Receiver's instance variables:
stream: StandardFileStream:
'E:\Download\Programming\Squeak\Squeak 3\test.jpg'
JPEGReadWriter2>>primJPEGReadImage:fromByteArray:onForm:doDithering:errorMgr:
Receiver: a JPEGReadWriter2
Arguments and temporary variables:
aJPEGDecompressStruct: a ByteArray(180 235 21 17 8
106 76 0 0 0 0 0 0 0 0 0 1 0...etc...
source: a ByteArray(255 216 255 224 0 16 74 70
73 70 0 1 1 0 0 1 0 1 0 0 255 21...etc...
form: Form(130x274x16)
ditherFlag: true
aJPEGErrorMgr2Struct: a ByteArray(72 16 220 103 136
127 220 103 72 127 220 103 ...etc...
Receiver's instance variables:
stream: StandardFileStream:
'E:\Download\Programming\Squeak\Squeak 3\test.jpg'
JPEGReadWriter2>>nextImageSuggestedDepth:
Receiver: a JPEGReadWriter2
Arguments and temporary variables:
depth: 16
bytes: a ByteArray(255 216 255 224 0 16 74 70 73 70 0
1 1 0 0 1 0 1 0 0 255 219...etc...
width: 130
height: 274
form: Form(130x274x16)
jpegDecompressStruct: a ByteArray(180 235 21 17 8
106 76 0 0 0 0 0 0 0 0 0 1 0 ...etc...
jpegErrorMgr2Struct: a ByteArray(72 16 220 103 136
127 220 103 72 127 220 103 2...etc...
depthToUse: 16
Receiver's instance variables:
stream: StandardFileStream:
'E:\Download\Programming\Squeak\Squeak 3\test.jpg'
--- The rest of the stack ---
JPEGReadWriter2>>nextImage
[] in ImageReadWriter class>>formFromStream:
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
ImageReadWriter class>>formFromStream:
Form class>>fromBinaryStream:
FileList>>openImageInWindow
FileList>>perform:orSendTo:
[] in MenuItemMorph>>invokeWithEvent:
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockContext>>newProcess
More information about the Squeak-dev
mailing list
|