On Tue, Dec 3, 2013 at 2:29 PM, Igor Stasenko <[email protected]> wrote:
> > > > On 3 December 2013 14:18, Usman Bhatti <[email protected]> wrote: > >> Igor, >> >> I had a look at Athens demo to understand how to manage sessions and >> surfaces because Roassal uses AthensSurface and there is a defensive >> mechanism in place in Roassal to initialize the surface in case it is not >> done. In the meantime, I have discovered that the red rectangle bug is >> present in Athens demos as well. >> >> So, to reproduce. >> AthensFlakeDemo new openInWorld >> save image >> open image >> > >> I tested in Moose 5.0. >> >> 1. Should I open a bug entry in Pharo? >> >> only if you intend to fix it. because this demo was not intended to be > 'fully featured, end-user compatible > and fool-proof demo'. it just a demo to show animation and discard it, but > if you insist this is a bug, > feel free to fix it. > Unfortunately, I wont have time for this. For me it would have been good, had Athens provided an example of session management as a good client so that example-oriented people like me could understand easily. Because, otherwise, I'll have to look at the code of NativeBoost and that adds to the level of complexity because I would do things with trial and error. > > >> 2. With my superficial knowledge of Athens, my guess is that the session >> management can be done in Athens so that Roassal (and other tools built on >> top of Athens) do not need to do it. May be it is the case already but the >> demos are not using it then. >> >> I disagree. > Because then, files can also open/close and delete themselves > automatically, so you will be left only to do reading and writing... > Resource management is an application-level responsibility, not framework > level. > I cannot predict in Athens, how often one wants to create/destroy or > (re)use surfaces, and therefore i cannot > create and dispose them when i see fit within framework. > Correct me if i wrong. > I think this doesn't compare to file handling because there are many types of operations possible on files and that are application-specific. Here resource management is actually exception-handling: I should not give to my client a surface that does not exist any more. Now, of course, if there is some application-level intelligence is involved, we cannot put that in the framework. But I would understand the absence of such a mechanism in the framework but then a tutorial should explain to novices/first-timers how to do it. Usman > > >> Usman >> >> >> >> On Mon, Dec 2, 2013 at 5:14 PM, Usman Bhatti <[email protected]>wrote: >> >>> Hello Igor, >>> >>> Moose 5.0 is using Athens as default canvas for Roassal and we have bug >>> with Roassal that seems to be related to Athens. >>> http://code.google.com/p/moose-technology/issues/detail?id=1019 >>> >>> I think it is related to the fact that we create a surface in the OS >>> with Athens and once we quit the image, the surface is destroyed as well. >>> So, when image is restarted with the visualization trying to use the >>> surface, we get the error. >>> >>> Could you point to what possibly can be done to avoid this error? Merely >>> checking the existence of an appropriate drawing surface in Athens every >>> time visualization is drawn, would it suffice? >>> >>> regards, >>> >>> Usman >>> >> >> > > > -- > Best regards, > Igor Stasenko. >
