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

Reply via email to