I investigated and here is what I found: At initialization, pd_init() calls conf_init() (m_pd.c l.311) that calls x_qlist_setup() (m_conf.c l.91) that calls text_template_init() (x_text.c l.1970) etc. that ends by calling template_new() that binds a template to the the symbol "pd-text" (g_template.c l.154). This binding is only valid at initialization and is not duplicated when using new pdinstances that why it crashes. I guess there is the same problem with the symbols "pd-float" and "pd-float-array" with garray_init(). I'll try to find a solution now.
2017-11-02 12:07 GMT+01:00 Pierre Guillot <[email protected]>: > Hi, > I created a issue on the libPd repository (https://github.com/libpd/ > libpd/issues/196) but perhaps it's more related to Pd itself. > > When I load a patch with [text define], it crashes (x_text.c line 280) > because x->x_scalar is NULL (because in scalar_new(), the function > template_findbyname(templatesym) returns NULL). So it seems that the > function can't find a template linked with the symbol "pd-text". > > I can't figure out why it works in Pd but not in libPd. Perhaps, libPd > don't call a method to bind a template to this symbol at startup? Or > perhaps it's related to the fact that I use PDINSTANCE and PDTHREADS? I > can't figure out the solution so any idea is welcomed! > > Cheers, > Pierre >
_______________________________________________ Pd-dev mailing list [email protected] https://lists.puredata.info/listinfo/pd-dev
