hello, 

the free method seems to be called when the object is deleted from the canvas.

is there a similar method called on Pd quit ?
I'm asking that because I'm rewriting a pix_openni2 object and to free the openni context i have to call a shutdown() function on quit and not on object deletion

regards,
a

--
do it yourself                      
http://antoine.villeret.free.fr


2014-03-24 14:45 GMT+01:00 IOhannes m zmölnig <zmoelnig@iem.at>:
On 03/24/2014 02:22 PM, Funs Seelen wrote:
> Hello all,
>
> While reorganizing my code a question about memory management in Pd arose
> in me. If I allocate memory within the constructor space, do I have to free
> this myself?
yes

> If yes, how or where should I do this?

the destructor is called "free_method" in Pd-lingo and is set via
class_new() [1].

so you basically would do:

void myclass_free(t_myclass*x) {
   free(x->x_ptr);
}
// ...
void myclass_setup(void) {
  class_new(gensym("myclass"), myclass_new, myclass_free,
sizeof(t_myclass), 0, ...);
}


> Do I have to worry about this or is all memory freed automatically when an
> object is removed from its canvas?

no magic is involved, thus you have to take care yourselves.

mdsa
IOhannes


[1] http://iem.at/pd/externals-HOWTO/node9.html#SECTION00092100000000000000

>
> Example:
>

>
> Any hints?
>
> Regards,
> Funs
>
>
>
> _______________________________________________
> Pd-dev mailing list
> Pd-dev@iem.at
> http://lists.puredata.info/listinfo/pd-dev
>



_______________________________________________
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev