Tx igor I added https://pharo.fogbugz.com/f/cases/19764/Improve-comment-of-AthensCairoSurfaceForm
On Mon, Feb 27, 2017 at 7:35 PM, Igor Stasenko <siguc...@gmail.com> wrote: > and i was dealing with it by adding 1 extra line to cairo surface, > but reporting 1 less to Form. Like so, bitblt still reads past the > allowed size, but it is safe, because there are unused bit(s). > > On 27 February 2017 at 20:31, Igor Stasenko <siguc...@gmail.com> wrote: > >> >> >> On 27 February 2017 at 12:29, Esteban Lorenzano <esteba...@gmail.com> >> wrote: >> >>> 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? >>> >>> >> Btw, remember the culprit there , that you must have extra word in >> trailing buffer space, >> this is because bit-blt using read-ahead . Which is OK for objects >> located in object memory, >> since there are always something past the last object (unallocated space), >> but not so ok for buffers allocated by malloc (such as cairo surface >> bitmap), and so, >> if you read even a single byte past it, you get protection fault. >> >> >>> 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/ >>> > >>> >>> >>> >> >> >> -- >> Best regards, >> Igor Stasenko. >> > > > > -- > Best regards, > Igor Stasenko. >