various fixes in compare_schematics()

This commit is contained in:
Stefan Frederik 2022-08-28 10:23:32 +02:00
parent eebd2b38fa
commit 1519afa241
2 changed files with 14 additions and 9 deletions

View File

@ -193,7 +193,7 @@ void draw_selection(GC g, int interruptable)
int customfont; int customfont;
#endif #endif
if(g == xctx->gc[SELLAYER]) xctx->movelastsel = xctx->lastsel; if(g != xctx->gctiled) xctx->movelastsel = xctx->lastsel;
for(i=0;i<xctx->movelastsel;i++) for(i=0;i<xctx->movelastsel;i++)
{ {
c = xctx->sel_array[i].col;n = xctx->sel_array[i].n; c = xctx->sel_array[i].col;n = xctx->sel_array[i].n;
@ -437,10 +437,11 @@ void draw_selection(GC g, int interruptable)
ROTATION(xctx->move_rot, xctx->move_flip, xctx->x1, xctx->y_1, ROTATION(xctx->move_rot, xctx->move_flip, xctx->x1, xctx->y_1,
xctx->inst[n].x0, xctx->inst[n].y0, xctx->rx1,xctx->ry1); xctx->inst[n].x0, xctx->inst[n].y0, xctx->rx1,xctx->ry1);
} }
for(k=0;k<cadlayers;k++) for(k=0;k<cadlayers;k++) {
draw_temp_symbol(ADD, g, n, k, xctx->move_flip, draw_temp_symbol(ADD, g, n, k, xctx->move_flip,
( xctx->move_flip && (xctx->inst[n].rot & 1) ) ? xctx->move_rot+2 : xctx->move_rot, ( xctx->move_flip && (xctx->inst[n].rot & 1) ) ? xctx->move_rot+2 : xctx->move_rot,
xctx->rx1-xctx->inst[n].x0+xctx->deltax,xctx->ry1-xctx->inst[n].y0+xctx->deltay); xctx->rx1-xctx->inst[n].x0+xctx->deltax,xctx->ry1-xctx->inst[n].y0+xctx->deltay);
}
break; break;
} }
#ifdef __unix__ #ifdef __unix__

View File

@ -754,7 +754,8 @@ int compare_schematics(const char *f)
if(!found) { if(!found) {
dbg(1, "schematic 2 instance %d: %s mismatch or not found in schematic 1\n", i, dbg(1, "schematic 2 instance %d: %s mismatch or not found in schematic 1\n", i,
xctx->inst[i].instname ? xctx->inst[i].instname : ""); xctx->inst[i].instname ? xctx->inst[i].instname : "");
select_element(i,SELECTED, 1, 1); xctx->inst[i].sel = SELECTED;
xctx->need_reb_sel_arr=1;
ret = 1; ret = 1;
} }
} }
@ -769,7 +770,8 @@ int compare_schematics(const char *f)
if(!found) { if(!found) {
dbg(1, "schematic 2 net %d: %s mismatch or not found in schematic 1\n", i, dbg(1, "schematic 2 net %d: %s mismatch or not found in schematic 1\n", i,
xctx->wire[i].prop_ptr ? xctx->wire[i].prop_ptr : ""); xctx->wire[i].prop_ptr ? xctx->wire[i].prop_ptr : "");
select_wire(i, SELECTED, 1); xctx->wire[i].sel = SELECTED;
xctx->need_reb_sel_arr=1;
ret = 1; ret = 1;
} }
} }
@ -795,7 +797,8 @@ int compare_schematics(const char *f)
xctx->inst[i].prop_ptr ? xctx->inst[i].prop_ptr : ""); xctx->inst[i].prop_ptr ? xctx->inst[i].prop_ptr : "");
found = int_hash_lookup(table2, s, i, XLOOKUP); found = int_hash_lookup(table2, s, i, XLOOKUP);
if(!found) { if(!found) {
select_element(i,SELECTED, 1, 1); xctx->inst[i].sel = SELECTED;
xctx->need_reb_sel_arr=1;
ret = 1; ret = 1;
} }
} }
@ -807,7 +810,8 @@ int compare_schematics(const char *f)
xctx->wire[i].x2, xctx->wire[i].y2); xctx->wire[i].x2, xctx->wire[i].y2);
found = int_hash_lookup(table2, s, i, XLOOKUP); found = int_hash_lookup(table2, s, i, XLOOKUP);
if(!found) { if(!found) {
select_wire(i, SELECTED, 1); xctx->wire[i].sel = SELECTED;
xctx->need_reb_sel_arr=1;
ret = 1; ret = 1;
} }
} }