place_symbol(): better handle generator symbol insertions like res.tcl(@value\): @value can be resolved only after generator has emitted the symbol, but symbol generated depends on generator actual parameter. So generators must handle unresolved @params.
This commit is contained in:
parent
75e99cae91
commit
0680fd97fd
|
|
@ -1392,19 +1392,12 @@ int place_symbol(int pos, const char *symbol_name, double x, double y, short rot
|
||||||
|
|
||||||
set_inst_flags(&xctx->inst[n]);
|
set_inst_flags(&xctx->inst[n]);
|
||||||
|
|
||||||
|
/* After having assigned prop_ptr to new instance translate symbol reference
|
||||||
|
* to resolve @params --> res.tcl(@value\) --> res.tcl(100) */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
my_strncpy(name, translate(n, name), S(name));
|
my_strncpy(name, translate(n, name), S(name));
|
||||||
i = match_symbol(name);
|
i = match_symbol(name);
|
||||||
xctx->inst[n].ptr = i;
|
xctx->inst[n].ptr = i;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
type = xctx->sym[xctx->inst[n].ptr].type;
|
type = xctx->sym[xctx->inst[n].ptr].type;
|
||||||
cond= type && IS_LABEL_SH_OR_PIN(type);
|
cond= type && IS_LABEL_SH_OR_PIN(type);
|
||||||
if(cond) {
|
if(cond) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue