[BUG]UndefinedObject(Object)>>doesNotUnderstand: #owner

stéphane ducasse ducasse at iam.unibe.ch
Sun Mar 28 20:12:57 UTC 2004


Perhaps this is my mistake because (Project named: 'ZZZZ') saveAs
works when I'm inside the project itself.

I tried a lot of different approaches as the following for example but 
none of them worked so far.

| projectsNotToSave |
	projectsNotToSave := #('Building with Squeak' 'Fun with Morphic' 'Fun 
With Music'  'More About Sound' 'Squeak and the Internet').
	Project allProjects do: [:each |
							Project current == each
								ifFalse: [ (projectsNotToSave includes: (each name))
										ifFalse: [ Project enter: each name.
												WorldState addDeferredUIMessage: [each saveAs]. ]] ].

Now does anybody know how we can save a couple of projects (not 
manually) without
entering them systematically. Or by entering them but saving them 
automatically.

Project is really complex and has some really strange code.

Stef



On 28 mars 04, at 21:35, ducasse at iam.unibe.ch wrote:

> I tried several times before sending this bug report. I used a new 
> image
> fresh from
> the website.
>
> - Open new project
> - rename it ZZZZ
> - (Project named: 'ZZZZ') saveAs
>
>
>
>
> 28 March 2004 9:37:44 pm
>
> VM: Mac OS - a SmalltalkImage
> Image: Squeak3.7alpha [latest update: #5816]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir Data:Harvesting
> Trusted Dir Data:Harvesting
> Untrusted Dir foobar:tooBar:forSqueak:bogus
>
> UndefinedObject(Object)>>doesNotUnderstand: #owner
> 	Receiver: nil
> 	Arguments and temporary variables:
> 		aMessage: 	owner
> 	Receiver's instance variables:
> nil
>
> ComplexProgressIndicator>>withProgressDo:
> 	Receiver: a ComplexProgressIndicator
> 	Arguments and temporary variables:
> 		aBlock: 	[] in Project>>storeOnServerWithProgressInfo {[self
> storeOnServerInnards]}...etc...
> 		safetyFactor: 	nil
> 		totals: 	nil
> 		trialRect: 	nil
> 		delta: 	nil
> 		stageCompletedString: 	nil
> 		targetOwner: 	nil
> 		ex: 	nil
> 		min: 	nil
> 		max: 	nil
> 		curr: 	nil
> 		note: 	nil
> 	Receiver's instance variables:
> 		formerWorld: 	a PasteUpMorph(1622) [world]
> 		targetMorph: 	nil
> 		estimate: 	nil
> 		prevData: 	nil
> 		formerProcess: 	a Process in Process>>suspend
> 		translucentMorph: 	nil
> 		userSuppliedMorph: 	nil
> 		specificHistory: 	a Dictionary()
> 		historyCategory: 	nil
> 		cumulativeStageTime: 	nil
> 		formerProject: 	a Project(New Changes)
> 		newRatio: 	nil
> 		stageCompleted: 	nil
> 		start: 	nil
>
> Project>>storeOnServerWithProgressInfo
> 	Receiver: a Project(ZZZZ)
> 	Arguments and temporary variables:
>
> 	Receiver's instance variables:
> 		dependents: 	nil
> 		world: 	a PasteUpMorph(2688) [world]
> 		changeSet: 	a ChangeSet named ZZZZ
> 		transcript: 	a TranscriptStream ''
> 		parentProject: 	a Project(New Changes)
> 		previousProject: 	nil
> 		displayDepth: 	16
> 		viewSize: 	nil
> 		thumbnail: 	nil
> 		nextProject: 	nil
> 		guards: 	nil
> 		projectParameters: 	an IdentityDictionary(#disabledGlobalFlapIDs->a
> Set('Stack T...etc...
> 		isolatedHead: 	false
> 		inForce: 	nil
> 		version: 	nil
> 		urlList: 	nil
> 		environment: 	nil
> 		lastDirectory: 	nil
> 		lastSavedAtSeconds: 	nil
> 		projectPreferenceFlagDictionary: 	an
> IdentityDictionary(#showSharedFlaps->true #...etc...
> 		resourceManager: 	a ResourceManager
>
> [] in Project>>storeOnServer {[self isCurrentProject   ifTrue: [^ self
> armsLengthCommand: #storeOnServerAs...]}
> 	Arguments and temporary variables:
>
>
> --- The full stack ---
> UndefinedObject(Object)>>doesNotUnderstand: #owner
> ComplexProgressIndicator>>withProgressDo:
> Project>>storeOnServerWithProgressInfo
> [] in Project>>storeOnServer {[self isCurrentProject   ifTrue: [^ self
> armsLengthCommand: #storeOnServerAs...]}
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Project>>validateProjectNameIfOK:
> Project>>storeOnServer
> Project>>saveAs
> UndefinedObject>>DoIt
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class
> evaluatorClass new   evaluate: self selection string   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:
> ...etc...
>




More information about the Squeak-dev mailing list