Index: dlg.c =================================================================== --- dlg.c (revision 30454) +++ dlg.c (revision 30455) @@ -125,7 +125,7 @@ pcb_view_list_t *view = calloc(sizeof(pcb_view_list_t), 1); pcb_board_t *pcb = (pcb_board_t *)pcb_gui->get_dad_hidlib(hid_ctx); - drc_qry_exec(pcb, view, ctx->rule, + drc_qry_exec(NULL, pcb, view, ctx->rule, ctx->dlg[ctx->wtype].val.str, ctx->dlg[ctx->wtitle].val.str, ctx->dlg[ctx->wdesc].val.str, @@ -505,7 +505,7 @@ } view = calloc(sizeof(pcb_view_list_t), 1); - drc_qry_exec(pcb, view, row->cell[0], textval(nd, "type"), textval(nd, "title"), textval(nd, "desc"), script); + drc_qry_exec(NULL, pcb, view, row->cell[0], textval(nd, "type"), textval(nd, "title"), textval(nd, "desc"), script); drcq_open_view_win(&pcb->hidlib, view); drc_rlist_pcb2dlg(); /* for the run time */ } Index: drc_query.c =================================================================== --- drc_query.c (revision 30454) +++ drc_query.c (revision 30455) @@ -133,7 +133,7 @@ qctx->hit_cnt++; } -static long drc_qry_exec(pcb_board_t *pcb, pcb_view_list_t *lst, const char *name, const char *type, const char *title, const char *desc, const char *query) +static long drc_qry_exec(pcb_qry_exec_t *ec, pcb_board_t *pcb, pcb_view_list_t *lst, const char *name, const char *type, const char *title, const char *desc, const char *query) { const char *scope = NULL; drc_qry_ctx_t qctx; @@ -158,7 +158,7 @@ st = pcb_drcq_stat_get(name); ts = pcb_dtime(); - pcb_qry_run_script(pcb, query, scope, drc_qry_exec_cb, &qctx); + pcb_qry_run_script(ec, pcb, query, scope, drc_qry_exec_cb, &qctx); te = pcb_dtime(); st->last_run_time = te - ts; @@ -256,7 +256,7 @@ if ((dis != NULL) && (*dis != 0)) continue; - cnt += drc_qry_exec((pcb_board_t *)hidlib, &pcb_drc_lst, i->name, + cnt += drc_qry_exec(NULL, (pcb_board_t *)hidlib, &pcb_drc_lst, i->name, load_str(rule, i, "type"), load_str(rule, i, "title"), load_str(rule, i, "desc"), load_str(rule, i, "query") );