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