Such a flag would work... For example, IIUC ctypes does this (I'm
remembering a 'needs_free'  attribute or something like that on some
ctypes instances...)

Just in case, I'll ask... Any chance the library you are using has
some sort of reference count mechanism? If it do, you sould rely on
that to implement Image.__dealloc__() ... If not, how do you track
ownership of your C handles in a pure-C code ??


On Tue, May 19, 2009 at 11:42 PM, Chris Colbert <[email protected]> wrote:
>
>
>> Any chance that cvQueryFrame() returns an image that you should not
>> free??
>>
> that's exactly it (i feel really dumb for having missed it)
>
>>
>> the first img is likely garbage-collected. Perhaps your
>> Image.__dealloc__ is not doing the right thing in this case?
>
>
> would you suggest setting a private C-attribute (flag) that indicates the
> image was created by this (or any other) function where i'm no supposed to
> explicity release it, then check that flag in __dealloc__ and proceed
> accordingly?
>
> This would be my knee jerk reaction around the problem, but maybe you have a
> more elegant solution.
>
> Chris
>
> _______________________________________________
> Cython-dev mailing list
> [email protected]
> http://codespeak.net/mailman/listinfo/cython-dev
>
>



-- 
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to