void Instance::freePatch(Patch &patch) { Pd::lock(); pd_setinstance(reinterpret_cast<t_pdinstance *>(m_ptr)); canvas_free(reinterpret_cast<t_canvas*>(patch.m_ptr)); Pd::unlock(); }
void does_canvas_rm_sym_ref(t_symbol *sym) { if (does_canvases.count(sym) != 0) { if (--does_canvases[sym].refcount <= 0) { canvas_free(does_canvases[sym].canvas); does_canvases.erase(sym); } } }
void grace_free(Grace *grace) { if (grace) { xfree(grace->grace_home); xfree(grace->username); xfree(grace->userhome); qfactory_free(grace->qfactory); canvas_free(grace->canvas); graal_free(grace->graal); grace_free_dicts(grace); xfree(grace); } }