yes, I was executing GLTTRenderingDemo new openInWorld. My FFI path is /usr/lib/nvidia-current-updates/libGL.so.1 (got from ldd /usr/bin/glxgears)



VM: unix - i686 - linux-gnu - NBCoInterpreter NativeBoost-CogPlugin-IgorStasenko.8 uuid: f47ef546-de3d-4415-850e-6437d67bfb5c Aug� 9 2011, StackToRegisterMappingCogit VMMaker-oscog-IgorStasenko.108 uuid: 384f4108-f1f4-4954-8357-0b3005cb81e2 Aug� 9 2011, https://git.gitorious.org/cogvm/blessed.git Commit: f6deabba4432fa22b767dc17718a0fb84c9f3e88 Date: Tue Aug 9 14:47:19 2011 +0200 By: Igor Stasenko <siguctua@gmail.com>
Image: Pharo1.4a [Latest update: #14284]

NBFFICallout(Object)>>error:
��� Receiver: a NBFFICallout
��� Arguments and temporary variables:
��� ��� aString: ��� 'function unavailable'
��� Receiver's instance variables:
��� ��� asm: ��� an AJx86Assembler
��� ��� proxy: ��� a NBInterpreterProxy
��� ��� options: ��� a Set(#optCoerceNilToNull #optCdecl #optAllowByteArraysPtr #optUseStac...etc...
��� ��� method: ��� (NBGlxAPI>>#queryExtension:errorBase:eventBase: "a CompiledMethod(54211...etc...
��� ��� fnSpec: ��� a NBFnSpec
��� ��� requestor: ��� NBGlxAPI
��� ��� methodArgs: ��� #('display' 'errorBase' 'eventBase')
��� ��� coercionMayFail: ��� false
��� ��� callInfo: ��� nil

NBFFICallout>>generateCall:module:
��� Receiver: a NBFFICallout
��� Arguments and temporary variables:
��� ��� functionSpec: ��� #(#bool #glXQueryExtension #(#Display #display #, #int #* #errorB...etc...
��� ��� aModuleNameOrHandle: ��� '/usr/lib/nvidia-current-updates/libGL.so.1'
��� ��� fnAddress: ��� nil
��� Receiver's instance variables:
��� ��� asm: ��� an AJx86Assembler
��� ��� proxy: ��� a NBInterpreterProxy
��� ��� options: ��� a Set(#optCoerceNilToNull #optCdecl #optAllowByteArraysPtr #optUseStac...etc...
��� ��� method: ��� (NBGlxAPI>>#queryExtension:errorBase:eventBase: "a CompiledMethod(54211...etc...
��� ��� fnSpec: ��� a NBFnSpec
��� ��� requestor: ��� NBGlxAPI
��� ��� methodArgs: ��� #('display' 'errorBase' 'eventBase')
��� ��� coercionMayFail: ��� false
��� ��� callInfo: ��� nil

[:generator | generator sender: sender;
��� ��� �callType: self callType;
��� ��� �generateCall: fnSpec module: self moduleName] in NBGlxAPI>>call:
��� Receiver: a NBGlxAPI
��� Arguments and temporary variables:
��� ��� fnSpec: ��� a NBFFICallout
��� ��� sender: ��� #(#bool #glXQueryExtension #(#Display #display #, #int #* #errorBase #,...etc...
��� ��� generator: ��� NBGlxAPI>>queryExtension:errorBase:eventBase:
��� Receiver's instance variables:
��� ��� fnAddresses: ��� #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...etc...
��� ��� renderingContextHandle: ��� nil
��� ��� extensions: ��� nil

NBFFICallout class(NBNativeCodeGen class)>>generateCode:andRetry:
��� Receiver: NBFFICallout
��� Arguments and temporary variables:
��� ��� aBlock: ��� [:generator | generator sender: sender;
��� ��� �callType: self callType;
��� ��� �...etc...
��� ��� retryCtx: ��� NBGlxAPI>>queryExtension:errorBase:eventBase:
��� ��� method: ��� (NBGlxAPI>>#queryExtension:errorBase:eventBase: "a CompiledMethod(54211...etc...
��� ��� code: ��� nil
��� ��� newMethod: ��� nil
��� ��� args: ��� nil
��� ��� i: ��� nil
��� ��� iLimiT: ��� nil
��� Receiver's instance variables:
��� ��� superclass: ��� NBNativeCodeGen
��� ��� methodDict: ��� a MethodDictionary(#aliasForType:->(NBFFICallout>>#aliasForType: "a...etc...
��� ��� format: ��� 148
��� ��� instanceVariables: ��� #('fnSpec' 'requestor' 'methodArgs' 'coercionMayFail' 'callI...etc...
��� ��� organization: ��� ('type aliases' aliasForType:)
('accessing' anonSpec: callType: c...etc...
��� ��� subclasses: ��� {NBNativeFunctionGen}
��� ��� name: ��� #NBFFICallout
��� ��� classPool: ��� a Dictionary(#CustomErrorCodes->a Dictionary(600->'An instance of NB...etc...
��� ��� sharedPools: ��� nil
��� ��� environment: ��� a SystemDictionary(lots of globals)
��� ��� category: ��� #'NativeBoost-Core'
��� ��� traitComposition: ��� {}
��� ��� localSelectors: ��� nil

NBFFICallout class(NBNativeCodeGen class)>>handleFailureIn:nativeCode:
��� Receiver: NBFFICallout
��� Arguments and temporary variables:
��� ��� aContext: ��� NBGlxAPI>>queryExtension:errorBase:eventBase:
��� ��� aBlock: ��� [:generator | generator sender: sender;
��� ��� �callType: self callType;
��� ��� �...etc...
��� ��� method: ��� (NBGlxAPI>>#queryExtension:errorBase:eventBase: "a CompiledMethod(54211...etc...
��� ��� lastError: ��� 502
��� ��� lit: ��� #(#NativeBoostPlugin #primitiveNativeCall 0 87)
��� Receiver's instance variables:
��� ��� superclass: ��� NBNativeCodeGen
��� ��� methodDict: ��� a MethodDictionary(#aliasForType:->(NBFFICallout>>#aliasForType: "a...etc...
��� ��� format: ��� 148
��� ��� instanceVariables: ��� #('fnSpec' 'requestor' 'methodArgs' 'coercionMayFail' 'callI...etc...
��� ��� organization: ��� ('type aliases' aliasForType:)
('accessing' anonSpec: callType: c...etc...
��� ��� subclasses: ��� {NBNativeFunctionGen}
��� ��� name: ��� #NBFFICallout
��� ��� classPool: ��� a Dictionary(#CustomErrorCodes->a Dictionary(600->'An instance of NB...etc...
��� ��� sharedPools: ��� nil
��� ��� environment: ��� a SystemDictionary(lots of globals)
��� ��� category: ��� #'NativeBoost-Core'
��� ��� traitComposition: ��� {}
��� ��� localSelectors: ��� nil

NBGlxAPI>>call:
��� Receiver: a NBGlxAPI
��� Arguments and temporary variables:
��� ��� fnSpec: ��� #(#bool #glXQueryExtension #(#Display #display #, #int #* #errorBase #,...etc...
��� ��� sender: ��� NBGlxAPI>>queryExtension:errorBase:eventBase:
��� Receiver's instance variables:
��� ��� fnAddresses: ��� #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...etc...
��� ��� renderingContextHandle: ��� nil
��� ��� extensions: ��� nil

NBGlxAPI>>queryExtension:errorBase:eventBase:
��� Receiver: a NBGlxAPI
��� Arguments and temporary variables:
��� ��� display: ��� a NBXLibDisplay( 0x8D4DF78 )
��� ��� errorBase: ��� a WordArray(0)
��� ��� eventBase: ��� a WordArray(0)
��� Receiver's instance variables:
��� ��� fnAddresses: ��� #[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...etc...
��� ��� renderingContextHandle: ��� nil
��� ��� extensions: ��� nil

NBGLXContextDriver>>createContext:
��� Receiver: a NBGLXContextDriver
��� Arguments and temporary variables:
��� ��� initialExtent: ��� (50@40)
��� ��� display: ��� a NBXLibDisplay( 0x8D4DF78 )
��� ��� window: ��� nil
��� ��� visualInfo: ��� nil
��� ��� colormap: ��� nil
��� ��� xattributes: ��� nil
��� ��� childWin: ��� nil
��� ��� glxSupported: ��� nil
��� ��� configsNumber: ��� nil
��� ��� configs: ��� nil
��� Receiver's instance variables:
��� ��� gl: ��� a NBGlxAPI
��� ��� ctx: ��� nil

NBGLContextDriver class>>createContext:
��� Receiver: NBGLContextDriver
��� Arguments and temporary variables:
��� ��� initialExtent: ��� (50@40)
��� Receiver's instance variables:
��� ��� superclass: ��� Object
��� ��� methodDict: ��� a MethodDictionary(#changeViewportSize:->(NBGLContextDriver>>#chang...etc...
��� ��� format: ��� 132
��� ��� instanceVariables: ��� #('gl')
��� ��� organization: ��� ('viewport' changeViewportSize:)
('initialize-release' createCont...etc...
��� ��� subclasses: ��� {NBMacGLContextDriver. NBGLXContextDriver}
��� ��� name: ��� #NBGLContextDriver
��� ��� classPool: ��� nil
��� ��� sharedPools: ��� an OrderedCollection(NBGLConstants)
��� ��� environment: ��� a SystemDictionary(lots of globals)
��� ��� category: ��� #'NBOpenGL-Display'
��� ��� traitComposition: ��� {}
��� ��� localSelectors: ��� nil

NBGLDisplay class>>extent:
��� Receiver: NBGLDisplay
��� Arguments and temporary variables:
��� ��� anInitialExtent: ��� (50@40)
��� ��� driver: ��� nil
��� ��� extensions: ��� nil
��� ��� disp: ��� nil
��� ��� ext: ��� (50@40)
��� Receiver's instance variables:
��� ��� superclass: ��� Object
��� ��� methodDict: ��� a MethodDictionary(#canUseForm:->(NBGLDisplay>>#canUseForm: "a Comp...etc...
��� ��� format: ��� 136
��� ��� instanceVariables: ��� #('session' 'extent' 'driver')
��� ��� organization: ��� ('reading pixels' canUseForm: updateForm:bounds:)
('viewport' cha...etc...
��� ��� subclasses: ��� {NBMSAAOffscreenDisplay. NBOffscreenDisplay}
��� ��� name: ��� #NBGLDisplay
��� ��� classPool: ��� nil
��� ��� sharedPools: ��� an OrderedCollection(NBGLConstants)
��� ��� environment: ��� a SystemDictionary(lots of globals)
��� ��� category: ��� #'NBOpenGL-Display'
��� ��� traitComposition: ��� {}
��� ��� localSelectors: ��� nil

GLTTRenderingDemo(GLViewportMorph)>>initializeForNewSession
��� Receiver: a GLTTRenderingDemo(684982272)
��� Arguments and temporary variables:

��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (50@40)
��� ��� owner: ��� nil
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (50@40)
��� ��� color: ��� Color blue
��� ��� extension: ��� a MorphExtension (693370880)
��� ��� session: ��� nil
��� ��� form: ��� nil
��� ��� useOwnForm: ��� nil
��� ��� display: ��� nil
��� ��� d: ��� nil
��� ��� glyphCache: ��� nil
��� ��� font: ��� nil
��� ��� curveRenderer: ��� nil
��� ��� frameStats: ��� nil
��� ��� start: ��� nil
��� ��� frameCount: ��� nil

GLTTRenderingDemo>>initializeForNewSession
��� Receiver: a GLTTRenderingDemo(684982272)
��� Arguments and temporary variables:

��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (50@40)
��� ��� owner: ��� nil
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (50@40)
��� ��� color: ��� Color blue
��� ��� extension: ��� a MorphExtension (693370880)
��� ��� session: ��� nil
��� ��� form: ��� nil
��� ��� useOwnForm: ��� nil
��� ��� display: ��� nil
��� ��� d: ��� nil
��� ��� glyphCache: ��� nil
��� ��� font: ��� nil
��� ��� curveRenderer: ��� nil
��� ��� frameStats: ��� nil
��� ��� start: ��� nil
��� ��� frameCount: ��� nil

GLTTRenderingDemo(GLViewportMorph)>>initialize
��� Receiver: a GLTTRenderingDemo(684982272)
��� Arguments and temporary variables:

��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (50@40)
��� ��� owner: ��� nil
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (50@40)
��� ��� color: ��� Color blue
��� ��� extension: ��� a MorphExtension (693370880)
��� ��� session: ��� nil
��� ��� form: ��� nil
��� ��� useOwnForm: ��� nil
��� ��� display: ��� nil
��� ��� d: ��� nil
��� ��� glyphCache: ��� nil
��� ��� font: ��� nil
��� ��� curveRenderer: ��� nil
��� ��� frameStats: ��� nil
��� ��� start: ��� nil
��� ��� frameCount: ��� nil

GLTTRenderingDemo>>initialize
��� Receiver: a GLTTRenderingDemo(684982272)
��� Arguments and temporary variables:
��� ��� fontPath: ��� nil
��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (50@40)
��� ��� owner: ��� nil
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (50@40)
��� ��� color: ��� Color blue
��� ��� extension: ��� a MorphExtension (693370880)
��� ��� session: ��� nil
��� ��� form: ��� nil
��� ��� useOwnForm: ��� nil
��� ��� display: ��� nil
��� ��� d: ��� nil
��� ��� glyphCache: ��� nil
��� ��� font: ��� nil
��� ��� curveRenderer: ��� nil
��� ��� frameStats: ��� nil
��� ��� start: ��� nil
��� ��� frameCount: ��� nil

GLTTRenderingDemo class(Behavior)>>new
��� Receiver: GLTTRenderingDemo
��� Arguments and temporary variables:

��� Receiver's instance variables:
��� ��� superclass: ��� GLViewportMorph
��� ��� methodDict: ��� a MethodDictionary(#frameStats->(GLTTRenderingDemo>>#frameStats "a ...etc...
��� ��� format: ��� 164
��� ��� instanceVariables: ��� #('d' 'glyphCache' 'font' 'curveRenderer' 'frameStats' 'star...etc...
��� ��� organization: ��� ('as yet unclassified' frameStats initialize initializeForNewSess...etc...
��� ��� subclasses: ��� nil
��� ��� name: ��� #GLTTRenderingDemo
��� ��� classPool: ��� nil
��� ��� sharedPools: ��� nil
��� ��� environment: ��� a SystemDictionary(lots of globals)
��� ��� category: ��� #'NBOpenGL-Morphic-Demo'
��� ��� traitComposition: ��� {}
��� ��� 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
��� ��� aContext: ��� nil
��� ��� receiver: ��� nil
��� ��� aRequestor: ��� a TextMorphForEditView(925892608)
��� ��� failBlock: ��� [self morph flash.
��� ^ nil]
��� ��� logFlag: ��� true
��� ��� methodNode: ��� DoIt
��� ^ GLTTRenderingDemo new openInWorld
��� ��� method: ��� (UndefinedObject>>#DoIt "a CompiledMethod(678166528)")
��� ��� value: ��� nil
��� ��� toLog: ��� nil
��� ��� itsSelection: ��� nil
��� ��� itsSelectionString: ��� nil
��� Receiver's instance variables:
��� ��� sourceStream: ��� a ReadWriteStream
��� ��� requestor: ��� a TextMorphForEditView(925892608)
��� ��� class: ��� UndefinedObject
��� ��� category: ��� nil
��� ��� context: ��� nil
��� ��� parser: ��� a Parser

[rcvr class evaluatorClass new
��� ��� evaluate: self selectionForDoitAsStream
��� ��� in: ctxt
��� ��� to: rcvr
��� ��� notifying: self morph
��� ��� ifFail: [self morph flash.
��� ��� ��� ^ nil]
��� ��� logged: true] in SmalltalkEditor>>evaluateSelectionAndDo:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� rcvr: ��� nil
��� ��� ctxt: ��� nil
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

BlockClosure>>on:do:
��� Receiver: [rcvr class evaluatorClass new
��� ��� evaluate: self selectionForDoitAsStream
��� ��� in: ctxt
��� ��� to: ...etc...
��� Arguments and temporary variables:
��� ��� exception: ��� OutOfScopeNotification
��� ��� handlerAction: ��� [:ex | ex resume: true]
��� ��� handlerActive: ��� true
��� Receiver's instance variables:
��� ��� outerContext: ��� SmalltalkEditor>>evaluateSelectionAndDo:
��� ��� startpc: ��� 110
��� ��� numArgs: ��� 0

SmalltalkEditor>>evaluateSelectionAndDo:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aBlock: ��� [:result | result]
��� ��� result: ��� nil
��� ��� rcvr: ��� nil
��� ��� ctxt: ��� nil
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor>>evaluateSelection
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:

��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor>>doIt
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:

��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor>>doIt:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aKeyboardEvent: ��� [keystroke '<Cmd-d>']
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor(TextEditor)>>performCmdActionsWith:shifted:return:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aKeyboardEvent: ��� [keystroke '<Cmd-d>']
��� ��� aBoolean: ��� false
��� ��� return: ��� [:val | ^ val]
��� ��� asciiValue: ��� 101
��� ��� actions: ��� #(#noop: #cursorHome: #noop: #noop: #cursorEnd: #noop: #noop: #noop: #...etc...
��� ��� action: ��� #doIt:
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor(TextEditor)>>dispatchCommandOn:return:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aKeyboardEvent: ��� [keystroke '<Cmd-d>']
��� ��� return: ��� [:val | ^ val]
��� ��� asciiValue: ��� 100
��� ��� honorCommandKeys: ��� true
��� ��� char: ��� nil
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor(TextEditor)>>dispatchOn:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aKeyboardEvent: ��� [keystroke '<Cmd-d>']
��� ��� char: ��� nil
��� ��� return: ��� [:val | ^ val]
��� ��� keyEvents: ��� nil
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

[self dispatchOn: aKeyboardEvent] in SmalltalkEditor(TextEditor)>>keystroke:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aKeyboardEvent: ��� [keystroke '<Cmd-d>']
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor(TextEditor)>>handleKeystrokeAction:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aBlock: ��� [self dispatchOn: aKeyboardEvent]
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor(TextEditor)>>handleEditionAction:fromKeyboardEvent:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� anAction: ��� [self dispatchOn: aKeyboardEvent]
��� ��� aKeyboardEvent: ��� [keystroke '<Cmd-d>']
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

SmalltalkEditor(TextEditor)>>keystroke:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aKeyboardEvent: ��� [keystroke '<Cmd-d>']
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

[editor keystroke: evt] in [| action |
evt keyValue = 13
��� ��� ifTrue: [action := self crAction.
��� ��� ��� action
��� ��� ��� ��� ifNotNil: [evt hand newKeyboardFocus: nil.
��� ��� ��� ��� ��� ^ action value]].
��� self
��� ��� handleInteraction: [editor keystroke: evt].
��� self updateFromParagraph.
��� super keyStroke: evt] in TextMorphForEditView(TextMorph)>>keyStroke:
��� Receiver: a TextMorphForEditView(925892608)
��� Arguments and temporary variables:
��� ��� evt: ��� [keystroke '<Cmd-d>']
��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (681@114)
��� ��� owner: ��� a TransformMorph(623902720)
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (681@114)
��� ��� color: ��� Color black
��� ��� extension: ��� a MorphExtension (945815552) [other:� (blinkStart -> 564954) (myDepe...etc...
��� ��� borderWidth: ��� 0
��� ��� borderColor: ��� Color black
��� ��� textStyle: ��� a TextStyle Bitmap DejaVu Sans 9
��� ��� text: ��� a Text for 'Gofer it squeaksource: ''NBOpenGL''; package: ''Configuration...etc...
��� ��� wrapFlag: ��� true
��� ��� paragraph: ��� a Paragraph
��� ��� editor: ��� a SmalltalkEditor
��� ��� container: ��� nil
��� ��� predecessor: ��� nil
��� ��� successor: ��� nil
��� ��� backgroundColor: ��� nil
��� ��� margins: ��� nil
��� ��� editView: ��� a PluggableTextMorph(171180032)
��� ��� acceptOnCR: ��� false
��� ��� autoAccept: ��� false
��� ��� acceptOnFocusChange: ��� false
��� ��� selectionColor: ��� nil

TextMorphForEditView(TextMorph)>>handleInteraction:
��� Receiver: a TextMorphForEditView(925892608)
��� Arguments and temporary variables:
��� ��� interactionBlock: ��� [editor keystroke: evt]
��� ��� oldEditor: ��� a SmalltalkEditor
��� ��� oldParagraph: ��� a Paragraph
��� ��� oldText: ��� a Text for 'Gofer it squeaksource: ''NBOpenGL''; package: ''Configurat...etc...
��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (681@114)
��� ��� owner: ��� a TransformMorph(623902720)
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (681@114)
��� ��� color: ��� Color black
��� ��� extension: ��� a MorphExtension (945815552) [other:� (blinkStart -> 564954) (myDepe...etc...
��� ��� borderWidth: ��� 0
��� ��� borderColor: ��� Color black
��� ��� textStyle: ��� a TextStyle Bitmap DejaVu Sans 9
��� ��� text: ��� a Text for 'Gofer it squeaksource: ''NBOpenGL''; package: ''Configuration...etc...
��� ��� wrapFlag: ��� true
��� ��� paragraph: ��� a Paragraph
��� ��� editor: ��� a SmalltalkEditor
��� ��� container: ��� nil
��� ��� predecessor: ��� nil
��� ��� successor: ��� nil
��� ��� backgroundColor: ��� nil
��� ��� margins: ��� nil
��� ��� editView: ��� a PluggableTextMorph(171180032)
��� ��� acceptOnCR: ��� false
��� ��� autoAccept: ��� false
��� ��� acceptOnFocusChange: ��� false
��� ��� selectionColor: ��� nil

TextMorphForEditView>>handleInteraction:
��� Receiver: a TextMorphForEditView(925892608)
��� Arguments and temporary variables:
��� ��� interActionBlock: ��� [editor keystroke: evt]
��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (681@114)
��� ��� owner: ��� a TransformMorph(623902720)
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (681@114)
��� ��� color: ��� Color black
��� ��� extension: ��� a MorphExtension (945815552) [other:� (blinkStart -> 564954) (myDepe...etc...
��� ��� borderWidth: ��� 0
��� ��� borderColor: ��� Color black
��� ��� textStyle: ��� a TextStyle Bitmap DejaVu Sans 9
��� ��� text: ��� a Text for 'Gofer it squeaksource: ''NBOpenGL''; package: ''Configuration...etc...
��� ��� wrapFlag: ��� true
��� ��� paragraph: ��� a Paragraph
��� ��� editor: ��� a SmalltalkEditor
��� ��� container: ��� nil
��� ��� predecessor: ��� nil
��� ��� successor: ��� nil
��� ��� backgroundColor: ��� nil
��� ��� margins: ��� nil
��� ��� editView: ��� a PluggableTextMorph(171180032)
��� ��� acceptOnCR: ��� false
��� ��� autoAccept: ��� false
��� ��� acceptOnFocusChange: ��� false
��� ��� selectionColor: ��� nil

[| action |
evt keyValue = 13
��� ��� ifTrue: [action := self crAction.
��� ��� ��� action
��� ��� ��� ��� ifNotNil: [evt hand newKeyboardFocus: nil.
��� ��� ��� ��� ��� ^ action value]].
��� self
��� ��� handleInteraction: [editor keystroke: evt].
��� self updateFromParagraph.
��� super keyStroke: evt] in TextMorphForEditView(TextMorph)>>keyStroke:
��� Receiver: a TextMorphForEditView(925892608)
��� Arguments and temporary variables:
��� ��� evt: ��� [keystroke '<Cmd-d>']
��� ��� action: ��� nil
��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (681@114)
��� ��� owner: ��� a TransformMorph(623902720)
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (681@114)
��� ��� color: ��� Color black
��� ��� extension: ��� a MorphExtension (945815552) [other:� (blinkStart -> 564954) (myDepe...etc...
��� ��� borderWidth: ��� 0
��� ��� borderColor: ��� Color black
��� ��� textStyle: ��� a TextStyle Bitmap DejaVu Sans 9
��� ��� text: ��� a Text for 'Gofer it squeaksource: ''NBOpenGL''; package: ''Configuration...etc...
��� ��� wrapFlag: ��� true
��� ��� paragraph: ��� a Paragraph
��� ��� editor: ��� a SmalltalkEditor
��� ��� container: ��� nil
��� ��� predecessor: ��� nil
��� ��� successor: ��� nil
��� ��� backgroundColor: ��� nil
��� ��� margins: ��� nil
��� ��� editView: ��� a PluggableTextMorph(171180032)
��� ��� acceptOnCR: ��� false
��� ��� autoAccept: ��� false
��� ��� acceptOnFocusChange: ��� false
��� ��� selectionColor: ��� nil

ToolRegistry>>codeCompletionAround:textMorph:keyStroke:
��� Receiver: a ToolRegistry
��� Arguments and temporary variables:
��� ��� aBlock: ��� [| action |
evt keyValue = 13
��� ��� ifTrue: [action := self crAction.
��� ��� ��� ac...etc...
��� ��� aTextMorph: ��� a TextMorphForEditView(925892608)
��� ��� evt: ��� [keystroke '<Cmd-d>']
��� Receiver's instance variables:
��� ��� tools: ��� an IdentityDictionary(#basicInspector->BasicInspector #browser->[self de...etc...
��� ��� inspectorsMap: ��� an IdentityDictionary(#CompiledMethod->#CompiledMethodInspector ...etc...

SmalltalkEditor>>codeCompletionAround:textMorph:keyStroke:
��� Receiver: a SmalltalkEditor
��� Arguments and temporary variables:
��� ��� aBlock: ��� [| action |
evt keyValue = 13
��� ��� ifTrue: [action := self crAction.
��� ��� ��� ac...etc...
��� ��� aTextMorph: ��� a TextMorphForEditView(925892608)
��� ��� anEvent: ��� [keystroke '<Cmd-d>']
��� Receiver's instance variables:
��� ��� morph: ��� a TextMorphForEditView(925892608)
��� ��� selectionShowing: ��� true
��� ��� model: ��� a Workspace
��� ��� editingState: ��� a SmalltalkEditingState

TextMorphForEditView(TextMorph)>>keyStroke:
��� Receiver: a TextMorphForEditView(925892608)
��� Arguments and temporary variables:
��� ��� evt: ��� [keystroke '<Cmd-d>']
��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (681@114)
��� ��� owner: ��� a TransformMorph(623902720)
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (681@114)
��� ��� color: ��� Color black
��� ��� extension: ��� a MorphExtension (945815552) [other:� (blinkStart -> 564954) (myDepe...etc...
��� ��� borderWidth: ��� 0
��� ��� borderColor: ��� Color black
��� ��� textStyle: ��� a TextStyle Bitmap DejaVu Sans 9
��� ��� text: ��� a Text for 'Gofer it squeaksource: ''NBOpenGL''; package: ''Configuration...etc...
��� ��� wrapFlag: ��� true
��� ��� paragraph: ��� a Paragraph
��� ��� editor: ��� a SmalltalkEditor
��� ��� container: ��� nil
��� ��� predecessor: ��� nil
��� ��� successor: ��� nil
��� ��� backgroundColor: ��� nil
��� ��� margins: ��� nil
��� ��� editView: ��� a PluggableTextMorph(171180032)
��� ��� acceptOnCR: ��� false
��� ��� autoAccept: ��� false
��� ��� acceptOnFocusChange: ��� false
��� ��� selectionColor: ��� nil

TextMorphForEditView>>keyStroke:
��� Receiver: a TextMorphForEditView(925892608)
��� Arguments and temporary variables:
��� ��� evt: ��� [keystroke '<Cmd-d>']
��� ��� view: ��� a PluggableTextMorph(171180032)
��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (681@114)
��� ��� owner: ��� a TransformMorph(623902720)
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (681@114)
��� ��� color: ��� Color black
��� ��� extension: ��� a MorphExtension (945815552) [other:� (blinkStart -> 564954) (myDepe...etc...
��� ��� borderWidth: ��� 0
��� ��� borderColor: ��� Color black
��� ��� textStyle: ��� a TextStyle Bitmap DejaVu Sans 9
��� ��� text: ��� a Text for 'Gofer it squeaksource: ''NBOpenGL''; package: ''Configuration...etc...
��� ��� wrapFlag: ��� true
��� ��� paragraph: ��� a Paragraph
��� ��� editor: ��� a SmalltalkEditor
��� ��� container: ��� nil
��� ��� predecessor: ��� nil
��� ��� successor: ��� nil
��� ��� backgroundColor: ��� nil
��� ��� margins: ��� nil
��� ��� editView: ��� a PluggableTextMorph(171180032)
��� ��� acceptOnCR: ��� false
��� ��� autoAccept: ��� false
��� ��� acceptOnFocusChange: ��� false
��� ��� selectionColor: ��� nil

TextMorphForEditView(TextMorph)>>handleKeystroke:
��� Receiver: a TextMorphForEditView(925892608)
��� Arguments and temporary variables:
��� ��� anEvent: ��� [keystroke '<Cmd-d>']
��� ��� pasteUp: ��� nil
��� Receiver's instance variables:
��� ��� bounds: ��� (0@0) corner: (681@114)
��� ��� owner: ��� a TransformMorph(623902720)
��� ��� submorphs: ��� #()
��� ��� fullBounds: ��� (0@0) corner: (681@114)
��� ��� color: ��� Color black
��� ��� extension: ��� a MorphExtension (945815552) [other:� (blinkStart -> 564954) (myDepe...etc...
��� ��� borderWidth: ��� 0
��� ��� borderColor: ��� Color black
��� ��� textStyle: ��� a TextStyle Bitmap DejaVu Sans 9
��� ��� text: ��� a Text for 'Gofer it squeaksource: ''NBOpenGL''; package: ''Configuration...etc...
��� ��� wrapFlag: ��� true
��� ��� paragraph: ��� a Paragraph
��� ��� editor: ��� a SmalltalkEditor
��� ��� container: ��� nil
��� ��� predecessor: ��� nil
��� ��� successor: ��� nil
��� ��� backgroundColor: ��� nil
��� ��� margins: ��� nil
��� ��� editView: ��� a PluggableTextMorph(171180032)
��� ��� acceptOnCR: ��� false
��� ��� autoAccept: ��� false
��� ��� acceptOnFocusChange: ��� false
��� ��� selectionColor: ��� nil


--- The full stack ---
NBFFICallout(Object)>>error:
NBFFICallout>>generateCall:module:
[:generator | generator sender: sender;
��� ��� �callType: self callType;
��� ��� �generateCall: fnSpec module: self moduleName] in NBGlxAPI>>call:
NBFFICallout class(NBNativeCodeGen class)>>generateCode:andRetry:
NBFFICallout class(NBNativeCodeGen class)>>handleFailureIn:nativeCode:
NBGlxAPI>>call:
NBGlxAPI>>queryExtension:errorBase:eventBase:
NBGLXContextDriver>>createContext:
NBGLContextDriver class>>createContext:
NBGLDisplay class>>extent:
GLTTRenderingDemo(GLViewportMorph)>>initializeForNewSession
GLTTRenderingDemo>>initializeForNewSession
GLTTRenderingDemo(GLViewportMorph)>>initialize
GLTTRenderingDemo>>initialize
GLTTRenderingDemo class(Behavior)>>new
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[rcvr class evaluatorClass new
��� ��� evaluate: self selectionForDoitAsStream
��� ��� in: ctxt
��� ��� to: rcvr
��� ��� notifying: self morph
��� ��� ifFail: [self morph flash.
��� ��� ��� ^ nil]
��� ��� logged: true] in SmalltalkEditor>>evaluateSelectionAndDo:
BlockClosure>>on:do:
SmalltalkEditor>>evaluateSelectionAndDo:
SmalltalkEditor>>evaluateSelection
SmalltalkEditor>>doIt
SmalltalkEditor>>doIt:
SmalltalkEditor(TextEditor)>>performCmdActionsWith:shifted:return:
SmalltalkEditor(TextEditor)>>dispatchCommandOn:return:
SmalltalkEditor(TextEditor)>>dispatchOn:
[self dispatchOn: aKeyboardEvent] in SmalltalkEditor(TextEditor)>>keystroke:
SmalltalkEditor(TextEditor)>>handleKeystrokeAction:
SmalltalkEditor(TextEditor)>>handleEditionAction:fromKeyboardEvent:
SmalltalkEditor(TextEditor)>>keystroke:
[editor keystroke: evt] in [| action |
evt keyValue = 13
��� ��� ifTrue: [action := self crAction.
��� ��� ��� action
��� ��� ��� ��� ifNotNil: [evt hand newKeyboardFocus: nil.
��� ��� ��� ��� ��� ^ action value]].
��� self
��� ��� handleInteraction: [editor keystroke: evt].
��� self updateFromParagraph.
��� super keyStroke: evt] in TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView(TextMorph)>>handleInteraction:
TextMorphForEditView>>handleInteraction:
[| action |
evt keyValue = 13
��� ��� ifTrue: [action := self crAction.
��� ��� ��� action
��� ��� ��� ��� ifNotNil: [evt hand newKeyboardFocus: nil.
��� ��� ��� ��� ��� ^ action value]].
��� self
��� ��� handleInteraction: [editor keystroke: evt].
��� self updateFromParagraph.
��� super keyStroke: evt] in TextMorphForEditView(TextMorph)>>keyStroke:
ToolRegistry>>codeCompletionAround:textMorph:keyStroke:
SmalltalkEditor>>codeCompletionAround:textMorph:keyStroke:
TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView>>keyStroke:
TextMorphForEditView(TextMorph)>>handleKeystroke:
�- - - - - - - - - - - - - - -�
��� ��� ��� - - - - - - - - - - - - - - - - - -
KeyboardEvent>>sentTo:
TextMorphForEditView(Morph)>>handleEvent:
TextMorphForEditView(Morph)>>handleFocusEvent:
[ActiveHand := self.
��� ActiveEvent := anEvent.
��� result := focusHolder
��� ��� ��� ��� handleFocusEvent: (anEvent
��� ��� ��� ��� ��� ��� transformedBy: (focusHolder transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
[aBlock value] in PasteUpMorph>>becomeActiveDuring:
BlockClosure>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendKeyboardEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[:h |
ActiveHand := h.
��� h processEvents.
��� ActiveHand := nil] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[[World doOneCycle.
��� Processor yield.
��� false] whileFalse.
��� nil] in MorphicUIManager>>spawnNewProcess
[self value.
��� Processor terminateActive] in BlockClosure>>newProcess