1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-11-04 23:05:21 +02:00

eeshow/gui/: in diff_old, use sheet from old_hist for AoIs

This commit is contained in:
Werner Almesberger 2016-08-19 12:24:05 -03:00
parent 133a9c8ae3
commit 2b0640f15d
2 changed files with 26 additions and 5 deletions

View File

@ -85,12 +85,25 @@ static void select_subsheet(void *user)
if (!obj->u.sheet.sheet)
return;
for (sheet = ctx->new_hist->sheets; sheet; sheet = sheet->next)
if (sheet->sch == obj->u.sheet.sheet) {
go_to_sheet(ctx, sheet);
return;
}
if (!ctx->old_hist || ctx->diff_mode != diff_old) {
for (sheet = ctx->new_hist->sheets; sheet; sheet = sheet->next)
if (sheet->sch == obj->u.sheet.sheet) {
go_to_sheet(ctx, sheet);
return;
}
abort();
}
for (sheet = ctx->old_hist->sheets; sheet; sheet = sheet->next)
if (sheet->sch == obj->u.sheet.sheet)
goto found;
abort();
found:
sheet = find_corresponding_sheet(ctx->new_hist->sheets,
ctx->old_hist->sheets, sheet);
go_to_sheet(ctx, sheet);
}

View File

@ -367,6 +367,10 @@ static bool sheet_click(void *user, int x, int y)
canvas_coord(ctx, x, y, &ex, &ey);
if (ctx->old_hist && ctx->diff_mode == diff_old)
curr_sheet = find_corresponding_sheet(ctx->old_hist->sheets,
ctx->new_hist->sheets, ctx->curr_sheet);
if (aoi_click(ctx->aois, x, y))
return 1;
if (aoi_click(curr_sheet->aois,
@ -388,6 +392,10 @@ static bool sheet_hover_update(void *user, int x, int y)
canvas_coord(ctx, x, y, &ex, &ey);
if (ctx->old_hist && ctx->diff_mode == diff_old)
curr_sheet = find_corresponding_sheet(ctx->old_hist->sheets,
ctx->new_hist->sheets, ctx->curr_sheet);
if (aoi_hover(ctx->aois, x, y))
return 1;
return aoi_hover(curr_sheet->aois,