Images

stéphane ducasse ducasse at iam.unibe.ch
Fri Sep 3 16:22:28 UTC 2004


apparently this changed since 3.0. so you do not need to send display 
anymore.
In 3.6 there was a big rewrite of the network packages.

Stef
On 3 sept. 04, at 17:37, Damien Cassou wrote:

> Hi,
>
>
> I've tried this code :
>
> (HTTPSocket httpShowGif:
> 	'http://www.google.fr/intl/fr_fr/images/logo.gif')
> 	display
>
> It displays the logo but a bug too :
>
> VM: unix - a SmalltalkImage
> Image: Squeak3.7gamma [latest update: #5985]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /home/quetzalcoatl/squeak-3.7
> Trusted Dir /home/quetzalcoatl/squeak-3.7/secure
> Untrusted Dir /home/quetzalcoatl/squeak-3.7/untrusted
>
> HTTPSocket class(Object)>>doesNotUnderstand: #display
> 	Receiver: HTTPSocket
> 	Arguments and temporary variables:
> 		aMessage: 	display
> 	Receiver's instance variables:
> 		superclass: 	OldSimpleClientSocket
> 		methodDict: 	a MethodDictionary(#contentType->a CompiledMethod (492)
> #contentTyp...etc...
> 		format: 	150
> 		instanceVariables: 	#('headerTokens' 'headers' 'responseCode')
> 		organization: 	('as yet unclassified' contentType contentType:
> contentsLength: g...etc...
> 		subclasses: 	nil
> 		name: 	#HTTPSocket
> 		classPool: 	a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80
> #HTTPProxyCredentials-...etc...
> 		sharedPools: 	nil
> 		environment: 	a SystemDictionary(lots of globals)
> 		category: 	nil
>
> UndefinedObject>>DoIt
> 	Receiver: nil
> 	Arguments and temporary variables:
>
> 	Receiver's instance variables:
> nil
>
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> 	Receiver: a Compiler
> 	Arguments and temporary variables:
> 		textOrStream: 	a ReadWriteStream 'Transcript show: ''Début du test'' 
> ;
> cr.
> Trans...etc...
> 		aContext: 	nil
> 		receiver: 	nil
> 		aRequestor: 	a TextMorphEditor
> 		failBlock: 	[] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
> {[FakeClas...etc...
> 		logFlag: 	true
> 		methodNode: 	DoIt
> 	^ (HTTPSocket httpShowGif: 'http://www.google.fr/intl/fr_fr/i...etc...
> 		method: 	a CompiledMethod (3854)
> 		value: 	nil
> 		selector: 	#DoIt
> 	Receiver's instance variables:
> 		sourceStream: 	a ReadWriteStream 'Transcript show: ''Début du test'' 
> ;
> cr.
> Trans...etc...
> 		requestor: 	a TextMorphEditor
> 		class: 	UndefinedObject
> 		context: 	nil
> 		parserClass: 	Parser
> 		cacheDoItNode: 	true
>
> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class
> evaluatorClass new   evaluate: self selectionAsStream   in: ctxt...]}
> 	Arguments and temporary variables:
> 		result: 	nil
> 		rcvr: 	nil
> 		ctxt: 	nil
> 		ex: 	nil
>
>
> --- The full stack ---
> HTTPSocket class(Object)>>doesNotUnderstand: #display
> UndefinedObject>>DoIt
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class
> evaluatorClass new   evaluate: self selectionAsStream   in: ctxt...]}
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> BlockContext>>on:do:
> TextMorphEditor(ParagraphEditor)>>evaluateSelection
> TextMorphEditor(ParagraphEditor)>>doIt
> [] in TextMorphEditor(ParagraphEditor)>>doIt: {[self doIt]}
> TextMorphEditor(Controller)>>terminateAndInitializeAround:
> TextMorphEditor(ParagraphEditor)>>doIt:
> TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
> TextMorphEditor>>dispatchOnCharacter:with:
> TextMorphEditor(ParagraphEditor)>>readKeyboard
> TextMorphEditor>>readKeyboard
> [] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor
> readKeyboard]}
> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
> TextMorphForEditView>>handleInteraction:fromEvent:
> TextMorphForEditView(TextMorph)>>keyStroke:
> TextMorphForEditView>>keyStroke:
> TextMorphForEditView(TextMorph)>>handleKeystroke:
> KeyboardEvent>>sentTo:
> TextMorphForEditView(Morph)>>handleEvent:
> TextMorphForEditView(Morph)>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
> ActiveEvent := anEvent.  result := focusHolder     han...]}
> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> BlockContext>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendKeyboardEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h
> processEvents.  capturingGesture := capturingGest...]}
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor
> yield.  false] whileFalse.  nil]}
> [] in BlockContext>>newProcess {[self value.  Processor
> terminateActive]}
>
>




More information about the Squeak-dev mailing list