Hi, 

the problem wit Ronie’s fix is that (as he says) you are copying another time 
the surface, before passing it to the VM (who makes yet-another-copy) so this 
is not optimal… and you can see it when running the Tiger demo: there are a lot 
of pauses.
So I would prefer the other approach he suggests:

Form subclass: #AthensCairoSurfaceForm
        instanceVariableNames: 'surface'
        classVariableNames: ''
        package: 'Athens-Cairo'

AthensCairoSurfaceForm>>surface
        ^ surface

AthensCairoSurfaceForm>>surface: anObject
        surface := anObject

AthensCairoSurface>>asForm
        "create a form and copy an image data there"
        self checkSession.
        self flush.
        ^ (AthensCairoSurfaceForm extent: (self width@self height) depth: 32 
bits: id)
                surface: self;
                yourself

that seems to work. Can you try and see?

Esteban

> On 24 Feb 2017, at 15:47, stepharong <stephar...@free.fr> wrote:
> 
> Hi alex
> 
> can you try the fix of ronie and let us know if it makes roassal more stable?
> 
> Stef
> 
>> Dear Alexander,
>> 
>> Sine the new FFI of Pharo, using Athens has become unreliable. This is a 
>> pity, but fixing this is not trivial at all (we have been trying for years).
>> 
>> What exactly are you doing with Athens?
>> 
>> Alexandre
>> 
>> 
>>> On Feb 22, 2017, at 12:55 AM, Alexander Samoylovich <samoylov...@gmail.com> 
>>> wrote:
>>> 
>>> Hello
>>> 
>>> I am writing graphic demo programs using Athens on Mac Sierra.
>>> Time by time Pharo VM crashes. Programs not using Athens work reliably.
>>> I believe the behavior is reproducible.
>>> How should I report a bug?
>>> 
>>> Alex
>> 
> 
> 
> -- 
> Using Opera's mail client: http://www.opera.com/mail/
> 


Reply via email to