octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: base_graphics_backend


From: Michael Goffioul
Subject: Re: base_graphics_backend
Date: Wed, 10 Sep 2008 09:45:31 +0200

On Tue, Sep 9, 2008 at 9:47 PM, John W. Eaton <address@hidden> wrote:
> I don't see a problem with recycling old handle values.  The handle
> should be recycled only if it has been freed, and that should only
> happen if there are no longer any uses for it.  Or are you saying that
> because someone can do
>
>  h = line ();
>  close all;
>  get (h)
>
> and the get call will fail, that we should not recycle handle values?
> I guess I'm a bit confused about what the problem is.

Recycling handles may have some undesired side effects. For
instance consider this piece of code:

h1 = plot(rand(1,10))
close
h2 = plot(rand(1,10))
close
h3 = plot(rand(1,10))
get(h2)

With the current handle recycling, the "get(h2)" call does not
produce any error and returns the properties of h3. The question
is then: what should be the expected behavior?

But concerning the problem reported by Ryan, the actual
problem is that the text objects (title and labels) of the axes
are destroyed, but the axes object does not know about it,
such that the stored handles point to invalid objects. This
should not happen and I'm wondering why the text objects are
destroyed in the first place.

Ryan: could you break you code in your backend's object_destroyed
method to see where it does come from?

Michael.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]