static void jsg_destroy(JSContext *cx, js_setting_group_t *jsg) { js_setting_t *jss; while((jss = LIST_FIRST(&jsg->jsg_settings)) != NULL) jss_destroy(cx, jss); prop_unparent(jsg->jsg_root); LIST_REMOVE(jsg, jsg_link); JS_RemoveRoot(cx, &jsg->jsg_val); jsg_release(jsg); }
void setting_detach(setting_t *s) { prop_unparent(s->s_root); }