Hi Eduardo, Your FFIStructures are not initialised (I thought this was solved in latest Pharo 7 ? Maybe not integrated yet). Run:
FFIExternalStructure allSubclassesDo: #rebuildFieldAccessors. Then your code should work. I wrote a simple game using Pharo/SDL2/Cairo and it works very well (50fps without problems, responsiveness is really good, etc.), the ReadMe includes how to run it on Ubuntu/Mac OS X/Windows, check here: https://github.com/clementbera/wizard-battle-arena Let me know if you have other questions. On Sat, Oct 21, 2017 at 6:28 PM, Eduardo de Oliveira Padoan < [email protected]> wrote: > Hi, greetings! > > I was trying out some examples from the Pharo By Example book on the > latest development version of Pharo, and I wanted to create a stand-alone > window for a simple game on Ubuntu. So I found out the openInExternalWindow > method, the window appears but I get this error that I couldn't understand, > and could not find any reference to it online. So I'm not sure if it's a > bug. > > The simplest way I found to reproduce it was: > > 'Hello' asMorph openInExternalWindow. > > I'm using Pharo 7 on Ubuntu 17.10. > > A copy of the stack: > > ByteArray(Object)>>primitiveFailed: > ByteArray(Object)>>primitiveFailed > ByteArray>>integerAt:size:signed: > ByteArray>>unsignedLongAt: > SDL_KeyDownEvent>>windowID > OSSDL2Driver>>convertEvent: > [ event := self convertEvent: sdlEvent. > event ifNotNil: [ eventQueue nextPut: event ] ] in > OSSDL2Driver>>processEvent: in Block: [ event := self convertEvent: > sdlEvent.... > BlockClosure>>on:do: > OSSDL2Driver>>processEvent: > OSSDL2Driver>>eventLoopProcessWithoutPlugin > [ self eventLoopProcessWithoutPlugin ] in OSSDL2Driver>>setupEventLoop in > Block: [ self eventLoopProcessWithoutPlugin ] > [ self value. > Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self > value.... > > But it seems incomplete. Any more information I can provide? > > Thank you. > -- Clément Béra Pharo consortium engineer https://clementbera.wordpress.com/ Bâtiment B 40, avenue Halley 59650 Villeneuve d'Ascq
