logo       

Re: Locking down a squeak image: msg#00057

lang.smalltalk.squeak.beginners

Subject: Re: Locking down a squeak image

LockDown package ask you for a new name for the image with the package applied.

But Seems thath LockDown package don't work in 3.9 because a DNU on SystemDictionary>>saveAs

The disableProgrammerFacilities send saveAs to Smalltalk class, where must be SmalltalkImage I think.

But with this problem, the Image are not saved, but you can do it from the Squeak flap .

Are you sure, you open the correct image?



This is the log:

MessageNotUnderstood: SystemDictionary>>saveAs
10 November 2007 11:19:57 am

VM: Mac OS - a SmalltalkImage
Image: Squeak3.9 [latest update: #7068]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Users/glpunzi/Desarrollo/Squeak3.9-final-7067 copia
Trusted Dir /foobar/tooBar/forSqueak/bogus
Untrusted Dir /Users/glpunzi/Library/Preferences/Squeak/Internet/My Squeak

SystemDictionary(Object)>>doesNotUnderstand: #saveAs
Receiver: a SystemDictionary(lots of globals)
Arguments and temporary variables:
aMessage: saveAs
Receiver's instance variables:
tally: 2378
array: an Array(nil nil nil nil #SMInstaller->SMInstaller #EFontBDFFontReaderFo...etc...
cachedClassNames: nil

Preferences class>>disableProgrammerFacilities
Receiver: Preferences
Arguments and temporary variables:

Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#seeClassSide->a CompiledMethod (988) )
format: 2
instanceVariables: nil
organization: ('look in class' seeClassSide)

subclasses: {ServicePreferences}
name: #Preferences
classPool: a Dictionary(#DesktopColor->(Color r: 0.742 g: 1.0 b: 0.839) #Dictio...etc...
sharedPools: nil
environment: a SystemDictionary(lots of globals)
category: #'System-Support'
traitComposition: nil
localSelectors: 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 'Preferences disableProgrammerFacilities'
aContext: nil
receiver: nil
aRequestor: a TextMorphEditor
failBlock: [] in TextMorphEditor(ParagraphEditor) >>evaluateSelection {[FakeClas...etc...
logFlag: true
methodNode: DoIt
^ Preferences disableProgrammerFacilities
method: a CompiledMethod (1429)
value: nil
toLog: nil
itsSelectionString: nil
itsSelection: nil
Receiver's instance variables:
sourceStream: a ReadWriteStream 'Preferences disableProgrammerFacilities'
requestor: a TextMorphEditor
class: UndefinedObject
category: nil
context: nil
parserClass: Parser


--- The full stack ---
SystemDictionary(Object)>>doesNotUnderstand: #saveAs
Preferences class>>disableProgrammerFacilities
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
[] in PluggableTextMorph>>doIt {[textMorph editor evaluateSelection]}
[] in PluggableTextMorph>>handleEdit: {[result := editBlock value]}
TextMorphForEditView(TextMorph)>>handleEdit:
PluggableTextMorph>>handleEdit:
PluggableTextMorph>>doIt
UndefinedObject(Object)>>perform:orSendTo:
[] in MenuItemMorph>>invokeWithEvent: {[(selArgCount := selector numArgs) = 0 ifTrue: [target perform: selector] ...]}
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: {[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>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents. capturingGesture := capturingGest...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldState>>doOneSubCycleFor:
PasteUpMorph>>doOneSubCycle
MenuMorph>>invokeModalAt:in:allowKeyboard:
MenuMorph>>invokeModal:
MenuMorph>>invokeModal
PluggableTextMorph>>yellowButtonActivity:
...etc...



El 10/11/2007, a las 2:04, Rich White escribió:

oddly enough I follow this procedure.. even get the "this is a drastic
step" message ... I select "Yes" to continue .. it acts like it is
updating the image. but I still get the world menu and halo?.... not
sure what step I could be leaving out.




On Nov 9, 2007 2:15 AM, <glpunzi@xxxxxxxxxxxxxx> wrote:
Hi Rich,

You can use the LockDown Package, available from SqueakMap.

Here are some documentation about how to use:
http://wiki.squeak.org/squeak/518

Cheers.


An advice on locking down a squeak image?.... I am wanting to make the
world menu, halo, & error messages unactive.

Thanks in advance !


Rich

=====================

_______________________________________________
Beginners mailing list
Beginners@xxxxxxxxxxxxxxxxxxxxxxxxxx
http://lists.squeakfoundation.org/mailman/listinfo/beginners



_______________________________________________
Beginners mailing list
Beginners@xxxxxxxxxxxxxxxxxxxxxxxxxx
http://lists.squeakfoundation.org/mailman/listinfo/beginners

_______________________________________________
Beginners mailing list
Beginners@xxxxxxxxxxxxxxxxxxxxxxxxxx
http://lists.squeakfoundation.org/mailman/listinfo/beginners


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise