remove propagate_hilights() from prepare_netlist_structs() (call explicitly when needed). Fix hilight_parent_pins()/propagate_hilights() in go_back() (some UNhilighted pins did not propagate to parent)
This commit is contained in:
parent
9afce9efee
commit
05f176045b
|
|
@ -1171,7 +1171,7 @@ void go_back(int confirm) /* 20171006 add confirm */
|
|||
|
||||
if(xctx->hilight_nets) {
|
||||
if(prev_sch_type != CAD_SYMBOL_ATTRS) hilight_parent_pins();
|
||||
propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||
propagate_hilights(1, 1, XINSERT_NOREPLACE);
|
||||
}
|
||||
xctx->xorigin=xctx->zoom_array[xctx->currsch].x;
|
||||
xctx->yorigin=xctx->zoom_array[xctx->currsch].y;
|
||||
|
|
@ -1679,6 +1679,9 @@ void new_wire(int what, double mx_snap, double my_snap)
|
|||
find_inst_to_be_redrawn(16); /* delete hash and arrays */
|
||||
bbox(SET , 0.0 , 0.0 , 0.0 , 0.0);
|
||||
}
|
||||
if(xctx->hilight_nets) {
|
||||
propagate_hilights(1, 1, XINSERT_NOREPLACE);
|
||||
}
|
||||
draw();
|
||||
if(!big) bbox(END , 0.0 , 0.0 , 0.0 , 0.0);
|
||||
} else update_conn_cues(1,1);
|
||||
|
|
|
|||
|
|
@ -439,7 +439,7 @@ void hilight_net_pin_mismatches(void)
|
|||
my_free(714, &labname);
|
||||
my_free(715, &lab);
|
||||
my_free(716, &netname);
|
||||
propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||
if(xctx->hilight_nets) propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||
redraw_hilights(0);
|
||||
}
|
||||
|
||||
|
|
@ -676,7 +676,7 @@ int search(const char *tok, const char *val, int sub, int sel)
|
|||
}
|
||||
}
|
||||
}
|
||||
if(!sel) propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||
if(!sel && xctx->hilight_nets) propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||
if(sel) for(c = 0; c < cadlayers; c++) for(i=0;i<xctx->lines[c];i++) {
|
||||
str = get_tok_value(xctx->line[c][i].prop_ptr, tok,0);
|
||||
if(xctx->get_tok_size) {
|
||||
|
|
@ -1049,6 +1049,7 @@ void propagate_hilights(int set, int clear, int mode)
|
|||
char *type;
|
||||
int en_hi;
|
||||
|
||||
dbg(1, "propagate_hilights()\n");
|
||||
en_hi = tclgetboolvar("en_hilight_conn_inst");
|
||||
prepare_netlist_structs(0);
|
||||
for(i = 0; i < xctx->instances; i++) {
|
||||
|
|
@ -1576,7 +1577,7 @@ void hilight_net(int viewer)
|
|||
}
|
||||
}
|
||||
if(!incr_hi) incr_hilight_color();
|
||||
propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||
if(xctx->hilight_nets) propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||
tcleval("if { [info exists gaw_fd] } {close $gaw_fd; unset gaw_fd}\n");
|
||||
}
|
||||
|
||||
|
|
@ -1613,7 +1614,7 @@ void unhilight_net(void)
|
|||
bbox(ADD, boundbox.x1, boundbox.y1, boundbox.x2, boundbox.y2);
|
||||
bbox(SET , 0.0 , 0.0 , 0.0 , 0.0);
|
||||
}
|
||||
propagate_hilights(0, 1, XINSERT_NOREPLACE);
|
||||
propagate_hilights(0, 1, XINSERT_NOREPLACE); /* will also clear xctx->hilight_nets if nothing left hilighted */
|
||||
draw();
|
||||
if(!big) bbox(END , 0.0 , 0.0 , 0.0 , 0.0);
|
||||
|
||||
|
|
|
|||
|
|
@ -1003,6 +1003,9 @@ void copy_objects(int what)
|
|||
check_collapsing_objects();
|
||||
if(tclgetboolvar("autotrim_wires")) trim_wires();
|
||||
/* update_conn_cues(1, 1); */
|
||||
if(xctx->hilight_nets) {
|
||||
propagate_hilights(1, 1, XINSERT_NOREPLACE);
|
||||
}
|
||||
xctx->ui_state &= ~STARTCOPY;
|
||||
xctx->x1=xctx->y_1=xctx->x2=xctx->y_2=xctx->move_rot=xctx->move_flip=xctx->deltax=xctx->deltay=0;
|
||||
bbox(SET , 0.0 , 0.0 , 0.0 , 0.0);
|
||||
|
|
|
|||
|
|
@ -1041,8 +1041,8 @@ void prepare_netlist_structs(int for_netlist)
|
|||
my_free(840, &class);
|
||||
my_free(841, &global_node);
|
||||
dbg(2, "prepare_netlist_structs(): returning\n");
|
||||
|
||||
propagate_hilights(1, 0, XINSERT_NOREPLACE);
|
||||
/* avoid below call: it in turn calls prepare_netlist_structs(), too many side effects */
|
||||
/* propagate_hilights(1, 0, XINSERT_NOREPLACE);*/
|
||||
}
|
||||
|
||||
int sym_vs_sch_pins()
|
||||
|
|
|
|||
|
|
@ -1137,6 +1137,9 @@ void load_schematic(int load_symbols, const char *filename, int reset_undo) /* 2
|
|||
}
|
||||
if(tclgetboolvar("autotrim_wires")) trim_wires();
|
||||
update_conn_cues(0, 0);
|
||||
if(xctx->hilight_nets) {
|
||||
propagate_hilights(1, 1, XINSERT_NOREPLACE);
|
||||
}
|
||||
}
|
||||
|
||||
void clear_undo(void)
|
||||
|
|
@ -1352,6 +1355,9 @@ void pop_undo(int redo, int set_modify_status)
|
|||
xctx->prep_hi_structs=0;
|
||||
link_symbols_to_instances(-1);
|
||||
update_conn_cues(0, 0);
|
||||
if(xctx->hilight_nets) {
|
||||
propagate_hilights(1, 1, XINSERT_NOREPLACE);
|
||||
}
|
||||
dbg(2, "pop_undo(): returning\n");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue