Index: src_plugins/dialogs/dlg_pref_confedit.c =================================================================== --- src_plugins/dialogs/dlg_pref_confedit.c (revision 35849) +++ src_plugins/dialogs/dlg_pref_confedit.c (revision 35850) @@ -128,6 +128,7 @@ static void pref_conf_editval_cb(void *hid_ctx, void *caller_data, rnd_hid_attribute_t *trigger_attr) { + rnd_hidlib_t *hidlib = rnd_gui->get_dad_hidlib(hid_ctx); confedit_ctx_t *ctx = caller_data; rnd_hid_attribute_t *attr; char buf[128]; @@ -190,7 +191,7 @@ rnd_conf_set(ctx->role, ctx->nat->hash_path, ctx->idx, val, RND_POL_OVERWRITE); if ((ctx->role == RND_CFR_USER) || (ctx->role == RND_CFR_PROJECT)) - rnd_conf_save_file(&PCB->hidlib, NULL, (PCB == NULL ? NULL : PCB->hidlib.filename), ctx->role, NULL); + rnd_conf_save_file(hidlib, NULL, (hidlib == NULL ? NULL : hidlib->filename), ctx->role, NULL); else if (ctx->role == RND_CFR_DESIGN) pcb_board_set_changed_flag(PCB, 1); @@ -211,7 +212,8 @@ static void pref_conf_editval_edit(void *hid_ctx, confedit_ctx_t *ctx, rnd_hid_attribute_t *attr, rnd_hid_row_t *r) { - char *nv = rnd_hid_prompt_for(&PCB->hidlib, "list item value:", r->cell[0], "Edit config list item"); + rnd_hidlib_t *hidlib = rnd_gui->get_dad_hidlib(hid_ctx); + char *nv = rnd_hid_prompt_for(hidlib, "list item value:", r->cell[0], "Edit config list item"); if (nv == NULL) return; @@ -248,8 +250,9 @@ static void pref_conf_editval_hlist_cb(void *hid_ctx, void *caller_data, rnd_hid_attribute_t *trigger_attr) { + rnd_hidlib_t *hidlib = rnd_gui->get_dad_hidlib(hid_ctx); confedit_ctx_t *ctx = caller_data; - rnd_actionva(&PCB->hidlib, ctx->nat->gui_edit_act, + rnd_actionva(hidlib, ctx->nat->gui_edit_act, rnd_conf_role_name(ctx->role), ctx->nat->hash_path, trigger_attr->val.str, NULL); }