Index: trunk/src/board.c =================================================================== --- trunk/src/board.c (revision 32708) +++ trunk/src/board.c (revision 32709) @@ -371,14 +371,14 @@ } /* sets or resets changed flag and redraws status */ -void pcb_board_set_changed_flag(rnd_bool New) +void pcb_board_set_changed_flag(pcb_board_t *pcb, rnd_bool New) { - rnd_bool old = PCB->Changed; + rnd_bool old = pcb->Changed; - PCB->Changed = New; + pcb->Changed = New; if (old != New) - rnd_event(&PCB->hidlib, RND_EVENT_BOARD_META_CHANGED, NULL); + rnd_event(&pcb->hidlib, RND_EVENT_BOARD_META_CHANGED, NULL); } Index: trunk/src/board.h =================================================================== --- trunk/src/board.h (revision 32708) +++ trunk/src/board.h (revision 32709) @@ -169,7 +169,7 @@ int pcb_board_normalize(pcb_board_t *pcb); /* sets or resets changed flag and redraws status */ -void pcb_board_set_changed_flag(rnd_bool New); +void pcb_board_set_changed_flag(pcb_board_t *pcb, rnd_bool New); /* Shorthand for emitting a board changed event (RND_EVENT_BOARD_CHANGED) */ void pcb_board_changed(int reverted); Index: trunk/src/buffer.c =================================================================== --- trunk/src/buffer.c (revision 32708) +++ trunk/src/buffer.c (revision 32709) @@ -1170,7 +1170,7 @@ oldx = x; oldy = y; if (pcb_buffer_copy_to_layout(PCB, x, y, rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); } break; Index: trunk/src/change_act.c =================================================================== --- trunk/src/change_act.c (revision 32708) +++ trunk/src/change_act.c (revision 32709) @@ -55,7 +55,7 @@ #define PCB (do not use PCB directly) -static void ChangeFlag(const char *, const char *, int, const char *); +static void ChangeFlag(pcb_board_t *, const char *, const char *, int, const char *); static fgw_error_t pcb_act_ChangeSize(fgw_arg_t *ores, int oargc, fgw_arg_t *oargv); static fgw_error_t pcb_act_Change2ndSize(fgw_arg_t *ores, int oargc, fgw_arg_t *oargv); @@ -70,6 +70,7 @@ /* DOC: changeclearsize.html */ static fgw_error_t pcb_act_ChangeClearSize(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; const char *function; const char *delta = NULL; const char *units = NULL; @@ -115,7 +116,7 @@ { if (type != PCB_OBJ_VOID) if (pcb_chg_obj_clear_size(type, ptr1, ptr2, ptr3, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } case F_SelectedVias: @@ -122,20 +123,20 @@ case F_SelectedPads: case F_SelectedPins: if (pcb_chg_selected_clear_size(PCB_OBJ_PSTK, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedLines: if (pcb_chg_selected_clear_size(PCB_OBJ_LINE, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedArcs: if (pcb_chg_selected_clear_size(PCB_OBJ_ARC, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_Selected: case F_SelectedObjects: if (pcb_chg_selected_clear_size(PCB_CHANGECLEARSIZE_TYPES, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } } @@ -165,13 +166,13 @@ if (value != 0 && value != 1) RND_ACT_FAIL(ChangeFlag); - ChangeFlag(function, flag, value, "ChangeFlag"); + ChangeFlag(PCB_ACT_BOARD, function, flag, value, "ChangeFlag"); RND_ACT_IRES(0); return 0; } -static void ChangeFlag(const char *what, const char *flag_name, int value, +static void ChangeFlag(pcb_board_t *pcb, const char *what, const char *flag_name, int value, const char *cmd_name) { rnd_bool(*set_object) (int, void *, void *, void *); @@ -203,7 +204,7 @@ rnd_message(RND_MSG_WARNING, "Sorry, %s object is locked\n", pcb_obj_type_name(obj->type)); } if (set_object(type, ptr1, ptr2, ptr3)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } @@ -211,17 +212,17 @@ case F_SelectedPins: case F_SelectedPads: if (set_selected(PCB_OBJ_PSTK)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedLines: if (set_selected(PCB_OBJ_LINE)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedTexts: if (set_selected(PCB_OBJ_TEXT)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedNames: @@ -232,7 +233,7 @@ case F_Selected: case F_SelectedObjects: if (set_selected(PCB_CHANGESIZE_TYPES)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } } @@ -272,6 +273,7 @@ /* DOC: changesize.html */ static fgw_error_t pcb_act_ChangeSize(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; const char *function; const char *delta; const char *units = NULL; @@ -312,11 +314,11 @@ } if (tostyle) { if (pcb_chg_obj_1st_size(type, ptr1, ptr2, ptr3, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else { if (pcb_chg_obj_size(type, ptr1, ptr2, ptr3, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } break; } @@ -324,22 +326,22 @@ case F_SelectedPins: case F_SelectedPads: if (pcb_chg_selected_size(PCB_OBJ_PSTK, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedArcs: if (pcb_chg_selected_size(PCB_OBJ_ARC, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedLines: if (pcb_chg_selected_size(PCB_OBJ_LINE, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedTexts: if (pcb_chg_selected_size(PCB_OBJ_TEXT, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedNames: @@ -350,7 +352,7 @@ case F_Selected: case F_SelectedObjects: if (pcb_chg_selected_size(PCB_CHANGESIZE_TYPES, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } } @@ -368,6 +370,7 @@ static fgw_error_t pcb_act_Change2ndSize(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; const char *function; const char *delta; const char *units = NULL; @@ -403,7 +406,7 @@ if (type != PCB_OBJ_VOID) if (pcb_chg_obj_2nd_size(type, ptr1, ptr2, ptr3, value, absolute, rnd_true)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } @@ -411,13 +414,13 @@ case F_SelectedVias: case F_SelectedPins: if (pcb_chg_selected_2nd_size(PCB_OBJ_PSTK, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_Selected: case F_SelectedObjects: if (pcb_chg_selected_2nd_size(PCB_OBJ_CLASS_PIN, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } } @@ -432,6 +435,7 @@ /* DOC: changepinname.html */ static fgw_error_t pcb_act_ChangePinName(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; rnd_cardinal_t changed = 0; const char *refdes, *pinnum, *pinname; @@ -448,7 +452,7 @@ for(o = pcb_data_first(&it, subc->data, PCB_OBJ_CLASS_REAL); o != NULL; o = pcb_data_next(&it)) { if ((o->term != NULL) && (RND_NSTRCMP(pinnum, o->term) == 0)) { pcb_attribute_set(PCB_ACT_BOARD, &o->Attributes, "name", pinname, 1); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); changed++; } } @@ -478,6 +482,7 @@ /* DOC: changename.html */ static fgw_error_t pcb_act_ChangeName(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; int op; char *name; pcb_objtype_t type; @@ -507,7 +512,7 @@ pcb_undo_save_serial(); if (pcb_chg_obj_name_query(ptr2)) { rnd_hid_redraw(PCB); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); rnd_actionva(RND_ACT_HIDLIB, "DeleteRats", "AllRats", NULL); } if (op == F_Object) { @@ -515,7 +520,7 @@ if ((subc != NULL) && subc->auto_termname_display) { pcb_undo_add_obj_to_flag(ptr2); PCB_FLAG_SET(PCB_FLAG_TERMNAME, (pcb_any_obj_t *)ptr2); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); pcb_undo_inc_serial(); pcb_draw(); } @@ -529,7 +534,7 @@ name = rnd_hid_prompt_for(RND_ACT_HIDLIB, "Enter the layout name:", RND_EMPTY(RND_ACT_HIDLIB->name), "Layout name"); /* NB: ChangeLayoutName takes ownership of the passed memory */ if (name && pcb_board_change_name(name)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; /* change the name of the active layer */ @@ -537,7 +542,7 @@ name = rnd_hid_prompt_for(RND_ACT_HIDLIB, "Enter the layer name:", RND_EMPTY(PCB_CURRLAYER(PCB_ACT_BOARD)->name), "Layer name"); /* NB: pcb_layer_rename_ takes ownership of the passed memory */ if (name && (pcb_layer_rename_(PCB_CURRLAYER(PCB_ACT_BOARD), name, 1) == 0)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); else free(name); break; @@ -560,6 +565,7 @@ static fgw_error_t pcb_act_ChangeJoin(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; int op; RND_ACT_CONVARG(1, FGW_KEYWORD, ChangeJoin, op = fgw_keyword(&argv[1])); @@ -575,24 +581,24 @@ rnd_hid_get_coords("Select an Object", &x, &y, 0); if ((type = pcb_search_screen(x, y, PCB_CHANGEJOIN_TYPES, &ptr1, &ptr2, &ptr3)) != PCB_OBJ_VOID) if (pcb_chg_obj_join(type, ptr1, ptr2, ptr3)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } case F_SelectedLines: if (pcb_chg_selected_join(PCB_OBJ_LINE)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_SelectedArcs: if (pcb_chg_selected_join(PCB_OBJ_ARC)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_Selected: case F_SelectedObjects: if (pcb_chg_selected_join(PCB_CHANGEJOIN_TYPES)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; default: @@ -608,6 +614,7 @@ static const char pcb_acth_ChangeNonetlist[] = "Changes the nonetlist flag of subcircuits."; static fgw_error_t pcb_act_ChangeNonetlist(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; int op; RND_ACT_CONVARG(1, FGW_KEYWORD, ChangeJoin, op = fgw_keyword(&argv[1])); @@ -625,7 +632,7 @@ ptr3 = NULL; type = pcb_search_screen(x, y, PCB_CHANGENONETLIST_TYPES, &ptr1, &ptr2, &ptr3); if (pcb_chg_obj_nonetlist(type, ptr1, ptr2, ptr3)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } case F_SelectedElements: @@ -632,7 +639,7 @@ case F_Selected: case F_SelectedObjects: if (pcb_chg_selected_nonetlist(PCB_OBJ_SUBC)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; default: @@ -721,7 +728,7 @@ RND_ACT_CONVARG(1, FGW_STR, SetFlag, function = argv[1].val.str); RND_ACT_CONVARG(2, FGW_STR, SetFlag, flag = argv[2].val.str); - ChangeFlag(function, flag, 1, "SetFlag"); + ChangeFlag(PCB_ACT_BOARD, function, flag, 1, "SetFlag"); RND_ACT_IRES(0); return 0; @@ -744,7 +751,7 @@ RND_ACT_CONVARG(1, FGW_STR, SetFlag, function = argv[1].val.str); RND_ACT_CONVARG(2, FGW_STR, SetFlag, flag = argv[2].val.str); - ChangeFlag(function, flag, 0, "ClrFlag"); + ChangeFlag(PCB_ACT_BOARD, function, flag, 0, "ClrFlag"); RND_ACT_IRES(0); return 0; @@ -804,6 +811,7 @@ static const char pcb_acth_ChangeAngle[] = "Changes the start angle, delta angle or both angles of an arc."; static fgw_error_t pcb_act_ChangeAngle(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; const char *prim; const char *delta; rnd_bool absolute; /* indicates if absolute size is given */ @@ -850,7 +858,7 @@ rnd_message(RND_MSG_WARNING, "Sorry, %s object is locked\n", pcb_obj_type_name(obj->type)); else { if (pcb_chg_obj_angle(type, ptr1, ptr2, ptr3, which, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } } break; @@ -858,13 +866,13 @@ case F_SelectedArcs: if (pcb_chg_selected_angle(PCB_OBJ_ARC, which, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_Selected: case F_SelectedObjects: if (pcb_chg_selected_angle(PCB_CHANGESIZE_TYPES, which, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } @@ -881,6 +889,7 @@ static const char pcb_acth_ChangeRadius[] = "Changes the width or height (radius) of an arc."; static fgw_error_t pcb_act_ChangeRadius(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; const char *prim; const char *delta; const char *units; @@ -919,7 +928,7 @@ rnd_message(RND_MSG_WARNING, "Sorry, %s object is locked\n", pcb_obj_type_name(obj->type)); else { if (pcb_chg_obj_radius(type, ptr1, ptr2, ptr3, which, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } } break; @@ -927,13 +936,13 @@ case F_SelectedArcs: if (pcb_chg_selected_radius(PCB_OBJ_ARC, which, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; case F_Selected: case F_SelectedObjects: if (pcb_chg_selected_radius(PCB_CHANGESIZE_TYPES, which, value, absolute)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } Index: trunk/src/file_act.c =================================================================== --- trunk/src/file_act.c (revision 32708) +++ trunk/src/file_act.c (revision 32709) @@ -255,13 +255,13 @@ return FGW_ERR_ARGC; } if (pcb_save_pcb(RND_ACT_HIDLIB->filename, NULL) == 0) - pcb_board_set_changed_flag(rnd_false); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_false); rnd_event(RND_ACT_HIDLIB, RND_EVENT_BOARD_FN_CHANGED, NULL); return 0; case F_LayoutAs: if (pcb_save_pcb(name, fmt) == 0) { - pcb_board_set_changed_flag(rnd_false); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_false); free(RND_ACT_HIDLIB->filename); RND_ACT_HIDLIB->filename = rnd_strdup(name); rnd_event(RND_ACT_HIDLIB, RND_EVENT_BOARD_FN_CHANGED, NULL); Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 32708) +++ trunk/src/gui_act.c (revision 32709) @@ -83,6 +83,7 @@ extern pcb_opfunc_t ChgFlagFunctions; static fgw_error_t pcb_act_Display(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; const char *str_dir = NULL; int id; int err = 0; @@ -328,7 +329,7 @@ pcb_undo_add_obj_to_flag(ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_TERMNAME, obj); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); pcb_undo_inc_serial(); pcb_draw(); } @@ -666,6 +667,7 @@ static const char pcb_acth_EditLayer[] = "Change a property or attribute of a layer. If the first argument starts with @, it is taken as the layer name to manipulate, else the action uses the current layer. Without arguments or if only a layer name is specified, interactive runs editing."; static fgw_error_t pcb_act_EditLayer(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; int ret = 0, n, interactive = 1, explicit = 0; pcb_layer_t *ly = PCB_CURRLAYER(PCB_ACT_BOARD); @@ -684,7 +686,7 @@ else if (strncmp(arg, "name=", 5) == 0) { interactive = 0; ret |= pcb_layer_rename_(ly, rnd_strdup(arg+5), 1); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else if (strncmp(arg, "auto=", 5) == 0) { interactive = 0; @@ -692,7 +694,7 @@ ly->comb |= PCB_LYC_AUTO; else ly->comb &= ~PCB_LYC_AUTO; - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else if (strncmp(arg, "sub=", 4) == 0) { interactive = 0; @@ -700,7 +702,7 @@ ly->comb |= PCB_LYC_SUB; else ly->comb &= ~PCB_LYC_SUB; - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else if (strncmp(arg, "attrib", 6) == 0) { char *key, *val; @@ -723,7 +725,7 @@ else ret |= pcb_attribute_put(&ly->Attributes, key, val); free(key); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else { rnd_message(RND_MSG_ERROR, "Invalid EditLayer() command: %s\n", arg); @@ -758,6 +760,7 @@ static const char pcb_acth_EditGroup[] = "Change a property or attribute of a layer group. If the first argument starts with @, it is taken as the group name to manipulate, else the action uses the current layer's group. Without arguments or if only a layer name is specified, interactive runs editing."; static fgw_error_t pcb_act_EditGroup(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; int ret = 0, n, interactive = 1, explicit = 0; pcb_layergrp_t *g = NULL; @@ -790,7 +793,7 @@ else if (strncmp(arg, "name=", 5) == 0) { interactive = 0; ret |= pcb_layergrp_rename_(g, rnd_strdup(arg+5), 1); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else if (strncmp(arg, "type=", 5) == 0) { const char *sbit = arg+5; @@ -809,7 +812,7 @@ case '-': g->ltype &= ~bit; break; } interactive = 0; - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else if (strncmp(arg, "attrib", 6) == 0) { char *key, *val; Index: trunk/src/layer.c =================================================================== --- trunk/src/layer.c (revision 32708) +++ trunk/src/layer.c (revision 32709) @@ -550,7 +550,7 @@ pcb->Data->Layer[id].Attributes.post_change = layer_post_change; if (pcb == PCB) - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(pcb, 1); if (undoable) pcb_layer_undoable_created(pcb, &pcb->Data->Layer[id]); Index: trunk/src/layer_grp.c =================================================================== --- trunk/src/layer_grp.c (revision 32708) +++ trunk/src/layer_grp.c (revision 32709) @@ -50,7 +50,7 @@ rnd_event(&pcb->hidlib, PCB_EVENT_LAYERS_CHANGED, NULL); \ if ((rnd_gui != NULL) && (rnd_exporter == NULL)) \ rnd_gui->invalidate_all(rnd_gui); \ - pcb_board_set_changed_flag(rnd_true); \ + pcb_board_set_changed_flag(pcb, rnd_true); \ } \ } while(0) Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 32708) +++ trunk/src/obj_poly.c (revision 32709) @@ -838,7 +838,7 @@ Polygon->HoleIndex[n]++; Polygon->Points[ctx->insert.idx] = save; - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); pcb_undo_add_obj_to_insert_point(PCB_OBJ_POLY_POINT, Layer, Polygon, &Polygon->Points[ctx->insert.idx]); pcb_poly_bbox(Polygon); Index: trunk/src/object_act.c =================================================================== --- trunk/src/object_act.c (revision 32708) +++ trunk/src/object_act.c (revision 32709) @@ -152,7 +152,7 @@ pcb_undo_inc_serial(); rnd_hid_redraw(pcb); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); return 0; } @@ -235,7 +235,7 @@ if (type == PCB_OBJ_SUBC) rnd_event(RND_ACT_HIDLIB, PCB_EVENT_RUBBER_LOOKUP_RATS, "ippp", type, ptr1, ptr2, ptr3); pcb_move_obj_and_rubberband(type, ptr1, ptr2, ptr3, nx->c[0], ny->c[0]); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); RND_ACT_IRES(0); return 0; @@ -284,7 +284,7 @@ if (((pcb_any_obj_t *)ptr2)->parent_type == PCB_PARENT_LAYER) ly = ((pcb_any_obj_t *)ptr2)->parent.layer; /* might be a bound layer, and ptr1 is a resolved one; we don't want undo to put the object back on the resolved layer instead of the original bound layer */ if (pcb_move_obj_to_layer(type, ly, ptr2, ptr3, target, rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } break; } @@ -292,7 +292,7 @@ case F_SelectedObjects: case F_Selected: if (pcb_move_selected_objs_to_layer(PCB_CURRLAYER(pcb))) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } return 0; @@ -581,7 +581,7 @@ /* Place components onto center of board. */ pcb_crosshair.Y = py; /* flipping side depends on the crosshair unfortunately */ if (pcb_buffer_copy_to_layout(pcb, px, py, rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else if (sc && subc_differs(sc, footprint)) { #ifdef DEBUG @@ -642,7 +642,7 @@ if (sc != NULL) pcb_subc_remove(sc); if (pcb_buffer_copy_to_layout(pcb, orig_cx, orig_cy, rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb,rnd_true); } } @@ -736,7 +736,7 @@ if (changed) { pcb_undo_inc_serial(); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } break; case F_Selected: @@ -761,7 +761,7 @@ PCB_END_LOOP; if (changed) { pcb_undo_inc_serial(); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } break; } Index: trunk/src/plug_io.c =================================================================== --- trunk/src/plug_io.c (revision 32708) +++ trunk/src/plug_io.c (revision 32709) @@ -598,7 +598,7 @@ PCB->loose_subc = PCB->is_footprint; /* clear 'changed flag' */ - pcb_board_set_changed_flag(rnd_false); + pcb_board_set_changed_flag(PCB, rnd_false); PCB->hidlib.filename = new_filename; /* just in case a bad file saved file is loaded */ Index: trunk/src/polygon.c =================================================================== --- trunk/src/polygon.c (revision 32708) +++ trunk/src/polygon.c (revision 32709) @@ -1213,7 +1213,7 @@ pcb_poly_init_clip(PCB->Data, layer, polygon); pcb_poly_invalidate_draw(layer, polygon); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); /* reset state of attached line */ pcb_crosshair.AttachedLine.State = PCB_CH_STATE_FIRST; @@ -1729,7 +1729,7 @@ } while ((pa = pa->f) != Input); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); } rnd_bool pcb_pline_is_rectangle(rnd_pline_t *pl) Index: trunk/src/rats_act.c =================================================================== --- trunk/src/rats_act.c (revision 32708) +++ trunk/src/rats_act.c (revision 32709) @@ -75,12 +75,12 @@ switch (op) { case F_AllRats: if (pcb_net_add_all_rats(PCB, flgs | PCB_RATACC_INFO) > 0) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); break; case F_SelectedRats: case F_Selected: if (pcb_net_add_all_rats(PCB, flgs | PCB_RATACC_INFO | PCB_RATACC_ONLY_SELECTED) > 0) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); break; case F_Close: small = RND_SQUARE(RND_MAX_COORD); @@ -186,12 +186,12 @@ switch(op) { case F_AllRats: if (pcb_rats_destroy(rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); break; case F_SelectedRats: case F_Selected: if (pcb_rats_destroy(rnd_true)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); break; default: Index: trunk/src/remove_act.c =================================================================== --- trunk/src/remove_act.c (revision 32708) +++ trunk/src/remove_act.c (revision 32709) @@ -85,11 +85,11 @@ break; case F_AllRats: if (pcb_rats_destroy(rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); break; case F_SelectedRats: if (pcb_rats_destroy(rnd_true)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); break; } @@ -102,7 +102,7 @@ static fgw_error_t pcb_act_RemoveSelected(fgw_arg_t *res, int argc, fgw_arg_t *argv) { if (pcb_remove_selected(0)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); RND_ACT_IRES(0); return 0; } Index: trunk/src/rotate.c =================================================================== --- trunk/src/rotate.c (revision 32708) +++ trunk/src/rotate.c (revision 32709) @@ -164,7 +164,7 @@ if (type == PCB_OBJ_SUBC) rnd_event(&pcb->hidlib, PCB_EVENT_RUBBER_LOOKUP_RATS, "ippp", type, ptr1, ptr2, ptr3); pcb_obj_rotate90(pcb, obj, X, Y, Steps); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } } @@ -184,6 +184,6 @@ if (type == PCB_OBJ_SUBC) rnd_event(&pcb->hidlib, PCB_EVENT_RUBBER_LOOKUP_RATS, "ippp", type, ptr1, ptr2, ptr3); pcb_obj_rotate(PCB, obj, X, Y, angle); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); } } Index: trunk/src/select_act.c =================================================================== --- trunk/src/select_act.c (revision 32708) +++ trunk/src/select_act.c (revision 32709) @@ -61,6 +61,7 @@ /* DOC: select.html */ static fgw_error_t pcb_act_Select(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; int op; RND_ACT_CONVARG(1, FGW_KEYWORD, Select, op = fgw_keyword(&argv[1])); @@ -82,12 +83,12 @@ pcb_undo_add_obj_to_flag(obj); PCB_FLAG_SET(PCB_FLAG_SELECTED, obj); pcb_draw_invalidate(obj); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else { case F_ToggleObject: if (pcb_select_object(PCB)) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); rnd_gui->invalidate_all(rnd_gui); } } @@ -105,7 +106,7 @@ rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); pcb_tool_notify_block(); if (pcb_crosshair.AttachedBox.State == PCB_CH_STATE_THIRD && pcb_select_block(PCB, &box, rnd_true, rnd_true, rnd_false)) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); pcb_crosshair.AttachedBox.State = PCB_CH_STATE_FIRST; } rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_true); @@ -123,7 +124,7 @@ box.X2 = RND_MAX_COORD; box.Y2 = RND_MAX_COORD; if (pcb_select_block(PCB, &box, rnd_true, rnd_true, rnd_false)) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); rnd_gui->invalidate_all(rnd_gui); } break; @@ -138,7 +139,7 @@ box.X2 = RND_MAX_COORD; box.Y2 = RND_MAX_COORD; if (pcb_select_block(PCB, &box, rnd_true, rnd_true, rnd_true)) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); rnd_gui->invalidate_all(rnd_gui); } break; @@ -149,7 +150,7 @@ if (pcb_select_connection(PCB, rnd_true)) { pcb_draw(); pcb_undo_inc_serial(); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } break; @@ -189,6 +190,7 @@ /* DOC: unselect.html */ static fgw_error_t pcb_act_Unselect(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + pcb_board_t *pcb = PCB_ACT_BOARD; int op; RND_ACT_CONVARG(1, FGW_KEYWORD, Unselect, op = fgw_keyword(&argv[1])); @@ -206,7 +208,7 @@ rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); pcb_tool_notify_block(); if (pcb_crosshair.AttachedBox.State == PCB_CH_STATE_THIRD && pcb_select_block(PCB, &box, rnd_false, rnd_true, rnd_false)) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); pcb_crosshair.AttachedBox.State = PCB_CH_STATE_FIRST; } rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_true); @@ -223,7 +225,7 @@ box.X2 = RND_MAX_COORD; box.Y2 = RND_MAX_COORD; if (pcb_select_block(PCB, &box, rnd_false, rnd_false, rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); break; } @@ -232,7 +234,7 @@ if (pcb_select_connection(PCB, rnd_false)) { pcb_draw(); pcb_undo_inc_serial(); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } break; Index: trunk/src/tool_logic.c =================================================================== --- trunk/src/tool_logic.c (revision 32708) +++ trunk/src/tool_logic.c (revision 32709) @@ -195,7 +195,7 @@ if (conf_core.temp.rat_warn) { if (pcb_data_clear_flag(pcb->Data, PCB_FLAG_WARN, 1, 0) > 0) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } pcb_draw(); } Index: trunk/src/undo.c =================================================================== --- trunk/src/undo.c (revision 32708) +++ trunk/src/undo.c (revision 32709) @@ -208,7 +208,7 @@ if (!Locked) { /* Set the changed flag if anything was added prior to this bump */ if ((pcb_uundo.tail != NULL) && (pcb_uundo.tail->serial == pcb_uundo.serial)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); uundo_inc_serial(&pcb_uundo); pcb_bumped = rnd_true; Index: trunk/src/undo_act.c =================================================================== --- trunk/src/undo_act.c (revision 32708) +++ trunk/src/undo_act.c (revision 32709) @@ -106,7 +106,7 @@ rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); if (rnd_tool_undo_act(RND_ACT_HIDLIB)) if (pcb_undo(rnd_true) == 0) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); } else if (function) { rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); @@ -137,7 +137,7 @@ rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); if (rnd_tool_redo_act(RND_ACT_HIDLIB)) if (pcb_redo(rnd_true)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_true); RND_ACT_IRES(0); return 0; Index: trunk/src_plugins/asm/asm.c =================================================================== --- trunk/src_plugins/asm/asm.c (revision 32708) +++ trunk/src_plugins/asm/asm.c (revision 32709) @@ -362,7 +362,7 @@ box.X2 = RND_MAX_COORD; box.Y2 = RND_MAX_COORD; if (pcb_select_block(PCB, &box, rnd_false, rnd_false, rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); if (row == NULL) { goto skip; Index: trunk/src_plugins/autocrop/autocrop.c =================================================================== --- trunk/src_plugins/autocrop/autocrop.c (revision 32708) +++ trunk/src_plugins/autocrop/autocrop.c (revision 32709) @@ -66,7 +66,7 @@ pcb_undo_inc_serial(); rnd_hid_redraw(PCB); - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(PCB, 1); RND_ACT_IRES(0); return 0; Index: trunk/src_plugins/autoplace/action.c =================================================================== --- trunk/src_plugins/autoplace/action.c (revision 32708) +++ trunk/src_plugins/autoplace/action.c (revision 32709) @@ -47,7 +47,7 @@ rnd_hid_busy(PCB, 1); if (rnd_hid_message_box(RND_ACT_HIDLIB, "question", "Autoplace start", "Auto-placement can NOT be undone.\nDo you want to continue anyway?", "no", 0, "yes", 1, NULL) == 1) { if (AutoPlaceSelected()) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); } rnd_hid_busy(PCB, 0); RND_ACT_IRES(0); Index: trunk/src_plugins/autoroute/action.c =================================================================== --- trunk/src_plugins/autoroute/action.c (revision 32708) +++ trunk/src_plugins/autoroute/action.c (revision 32709) @@ -53,12 +53,12 @@ case F_AllRats: case F_All: if (AutoRoute(rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); break; case F_SelectedRats: case F_Selected: if (AutoRoute(rnd_true)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); break; default: RND_ACT_FAIL(AutoRoute); Index: trunk/src_plugins/dialogs/dlg_layer_flags.c =================================================================== --- trunk/src_plugins/dialogs/dlg_layer_flags.c (revision 32708) +++ trunk/src_plugins/dialogs/dlg_layer_flags.c (revision 32709) @@ -75,13 +75,13 @@ pcb_layer_combining_t comb = 0; if (strcmp(ly->name, dlg[wname].val.str) != 0) { ar |= pcb_layer_rename_(ly, (char *)dlg[wname].val.str, 1); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); } if (dlg[wsub].val.lng) comb |= PCB_LYC_SUB; if (dlg[wauto].val.lng) comb |= PCB_LYC_AUTO; if (ly->comb != comb) { ly->comb = comb; - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); } } else @@ -168,7 +168,7 @@ if (strcmp(g->name, dlg[wname].val.str) != 0) { ar |= pcb_layergrp_rename_(g, (char *)dlg[wname].val.str, 1); dlg[wname].val.str = NULL; - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); } if (dlg[wtype].val.lng != orig_type) { @@ -207,7 +207,7 @@ } if (changed) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); rnd_event(&PCB->hidlib, PCB_EVENT_LAYERS_CHANGED, NULL); } } Index: trunk/src_plugins/dialogs/dlg_lib_pstk.c =================================================================== --- trunk/src_plugins/dialogs/dlg_lib_pstk.c (revision 32708) +++ trunk/src_plugins/dialogs/dlg_lib_pstk.c (revision 32709) @@ -444,7 +444,7 @@ } if (changed) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); rnd_gui->invalidate_all(rnd_gui); } } Index: trunk/src_plugins/dialogs/dlg_padstack.c =================================================================== --- trunk/src_plugins/dialogs/dlg_padstack.c (revision 32708) +++ trunk/src_plugins/dialogs/dlg_padstack.c (revision 32709) @@ -223,7 +223,7 @@ pcb_subc_bbox(pdt->parent.subc); if (pcb_data_get_top(pse->data) != NULL) - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(PCB, 1); } static void pse_chg_protoid(void *hid_ctx, void *caller_data, rnd_hid_attribute_t *attr) Index: trunk/src_plugins/dialogs/dlg_pref.c =================================================================== --- trunk/src_plugins/dialogs/dlg_pref.c (revision 32708) +++ trunk/src_plugins/dialogs/dlg_pref.c (revision 32709) @@ -104,7 +104,7 @@ if ((ctx->role == RND_CFR_USER) || (ctx->role == RND_CFR_PROJECT)) rnd_conf_save_file(&PCB->hidlib, NULL, (PCB == NULL ? NULL : PCB->hidlib.filename), ctx->role, NULL); else if (ctx->role == RND_CFR_DESIGN) - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(PCB, 1); } void pcb_pref_conf2dlg_item(rnd_conf_native_t *cn, pref_confitem_t *item) Index: trunk/src_plugins/dialogs/dlg_pref_confedit.c =================================================================== --- trunk/src_plugins/dialogs/dlg_pref_confedit.c (revision 32708) +++ trunk/src_plugins/dialogs/dlg_pref_confedit.c (revision 32709) @@ -189,7 +189,7 @@ if ((ctx->role == RND_CFR_USER) || (ctx->role == RND_CFR_PROJECT)) rnd_conf_save_file(&PCB->hidlib, NULL, (PCB == NULL ? NULL : PCB->hidlib.filename), ctx->role, NULL); else if (ctx->role == RND_CFR_DESIGN) - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(PCB, 1); rnd_gui->invalidate_all(rnd_gui); } Index: trunk/src_plugins/dialogs/dlg_view.c =================================================================== --- trunk/src_plugins/dialogs/dlg_view.c (revision 32708) +++ trunk/src_plugins/dialogs/dlg_view.c (revision 32709) @@ -519,7 +519,7 @@ } if (chg) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); view_preview_update(ctx); } } Index: trunk/src_plugins/distalign/distalign.c =================================================================== --- trunk/src_plugins/distalign/distalign.c (revision 32708) +++ trunk/src_plugins/distalign/distalign.c (revision 32709) @@ -358,7 +358,7 @@ if (changed) { pcb_undo_inc_serial(); rnd_hid_redraw(PCB); - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(PCB, 1); } free_objs_by_pos(); @@ -526,7 +526,7 @@ if (changed) { pcb_undo_inc_serial(); rnd_hid_redraw(PCB); - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(PCB, 1); } free_objs_by_pos(); RND_ACT_IRES(0); Index: trunk/src_plugins/drc_query/drc_query.c =================================================================== --- trunk/src_plugins/drc_query/drc_query.c (revision 32708) +++ trunk/src_plugins/drc_query/drc_query.c (revision 32709) @@ -785,7 +785,7 @@ fclose(f); if (ires == 0) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); free(autofree); RND_ACT_IRES(ires); Index: trunk/src_plugins/export_oldconn/oldconn.c =================================================================== --- trunk/src_plugins/export_oldconn/oldconn.c (revision 32708) +++ trunk/src_plugins/export_oldconn/oldconn.c (revision 32709) @@ -283,7 +283,7 @@ if (f != NULL) { pcb_lookup_unused_pins(f, 1); fclose(f); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); } return 0; Index: trunk/src_plugins/export_openems/excitation.c =================================================================== --- trunk/src_plugins/export_openems/excitation.c (revision 32708) +++ trunk/src_plugins/export_openems/excitation.c (revision 32709) @@ -63,7 +63,7 @@ const char *orig = pcb_attribute_get(&PCB->Attributes, attrkey); if ((orig == NULL) || (strcmp(orig, data) != 0)) { pcb_attribute_put(&PCB->Attributes, attrkey, data); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); } } @@ -399,7 +399,7 @@ const char *orig = pcb_attribute_get(&PCB->Attributes, "openems::excitation::type"); if ((orig == NULL) || (strcmp(orig, excitations[exc_ctx.selected].name) != 0)) { pcb_attribute_put(&PCB->Attributes, "openems::excitation::type", excitations[exc_ctx.selected].name); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); } } } Index: trunk/src_plugins/jostle/jostle.c =================================================================== --- trunk/src_plugins/jostle/jostle.c (revision 32708) +++ trunk/src_plugins/jostle/jostle.c (revision 32709) @@ -502,7 +502,7 @@ rnd_polyarea_boolean_free(info.brush, expand, &info.brush, RND_PBO_UNITE); } } while (found); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); pcb_undo_inc_serial(); RND_ACT_IRES(0); Index: trunk/src_plugins/lib_hid_pcbui/routest_dlg.c =================================================================== --- trunk/src_plugins/lib_hid_pcbui/routest_dlg.c (revision 32708) +++ trunk/src_plugins/lib_hid_pcbui/routest_dlg.c (revision 32709) @@ -111,7 +111,7 @@ if (rst != NULL) pcb_use_route_style(rst); rnd_event(&PCB->hidlib, PCB_EVENT_ROUTE_STYLES_CHANGED, NULL); - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(PCB, 1); } static void rst_change_cb(void *hid_ctx, void *caller_data, rnd_hid_attribute_t *attr) Index: trunk/src_plugins/propedit/propsel.c =================================================================== --- trunk/src_plugins/propedit/propsel.c (revision 32708) +++ trunk/src_plugins/propedit/propsel.c (revision 32709) @@ -1000,7 +1000,7 @@ if (ctx->board) set_board(sctx, ctx->pcb); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(ctx->pcb, rnd_true); pcb_undo_inc_serial(); return sctx->set_cnt; } @@ -1139,7 +1139,7 @@ if (ctx->board) del_cnt += del_board(&ctx, ctx->pcb, key); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(ctx->pcb, rnd_true); return del_cnt; } Index: trunk/src_plugins/query/query_act.c =================================================================== --- trunk/src_plugins/query/query_act.c (revision 32708) +++ trunk/src_plugins/query/query_act.c (revision 32709) @@ -340,7 +340,7 @@ if (pcb_qry_run_script(NULL, PCB_ACT_BOARD, arg, scope, flagop_cb, &sel) < 0) printf("Failed to run the query\n"); if (sel.cnt > 0) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); if (RND_HAVE_GUI_ATTR_DLG) rnd_hid_redraw(PCB); } @@ -368,7 +368,7 @@ if (pcb_qry_run_script(NULL, PCB_ACT_BOARD, arg, scope, flagop_cb, &sel) < 0) printf("Failed to run the query\n"); if (sel.cnt > 0) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); if (RND_HAVE_GUI_ATTR_DLG) rnd_hid_redraw(PCB); } Index: trunk/src_plugins/renumber/renumber.c =================================================================== --- trunk/src_plugins/renumber/renumber.c (revision 32708) +++ trunk/src_plugins/renumber/renumber.c (revision 32709) @@ -331,7 +331,7 @@ pcb_netlist_changed(0); pcb_undo_inc_serial(); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB_ACT_BOARD, rnd_true); } free(locked_subc_list); Index: trunk/src_plugins/shand_cmd/command.c =================================================================== --- trunk/src_plugins/shand_cmd/command.c (revision 32708) +++ trunk/src_plugins/shand_cmd/command.c (revision 32709) @@ -167,7 +167,7 @@ if (filename == NULL) { if (PCB->hidlib.filename) { if (pcb_save_pcb(PCB->hidlib.filename, NULL) == 0) - pcb_board_set_changed_flag(rnd_false); + pcb_board_set_changed_flag(PCB, rnd_false); } else rnd_message(RND_MSG_ERROR, "No filename to save to yet\n"); @@ -174,7 +174,7 @@ } else { if (pcb_save_pcb(filename, NULL) == 0) { - pcb_board_set_changed_flag(rnd_false); + pcb_board_set_changed_flag(PCB, rnd_false); free(PCB->hidlib.filename); PCB->hidlib.filename = rnd_strdup(filename); rnd_event(&PCB->hidlib, RND_EVENT_BOARD_FN_CHANGED, NULL); Index: trunk/src_plugins/smartdisperse/smartdisperse.c =================================================================== --- trunk/src_plugins/smartdisperse/smartdisperse.c (revision 32708) +++ trunk/src_plugins/smartdisperse/smartdisperse.c (revision 32709) @@ -218,7 +218,7 @@ pcb_undo_inc_serial(); rnd_hid_redraw(PCB); - pcb_board_set_changed_flag(1); + pcb_board_set_changed_flag(PCB, 1); RND_ACT_IRES(0); return 0; Index: trunk/src_plugins/tool_std/tool_arrow.c =================================================================== --- trunk/src_plugins/tool_std/tool_arrow.c (revision 32708) +++ trunk/src_plugins/tool_std/tool_arrow.c (revision 32709) @@ -120,7 +120,7 @@ box.Y2 = RND_MAX_COORD; /* unselect first if shift key not down */ if (!rnd_gui->shift_is_pressed(rnd_gui) && pcb_select_block(pcb, &box, rnd_false, rnd_false, rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); pcb_tool_notify_block(); pcb_crosshair.AttachedBox.Point1.X = hl->tool_x; pcb_crosshair.AttachedBox.Point1.Y = hl->tool_y; @@ -205,7 +205,7 @@ /* unselect first if shift key not down */ if (!rnd_gui->shift_is_pressed(rnd_gui)) { if (pcb_select_block(pcb, &box, rnd_false, rnd_false, rnd_false)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); if (pcb_crosshair_note.Moving) { pcb_crosshair_note.Moving = 0; hl->tool_hit = 0; @@ -216,7 +216,7 @@ gets the same SN. */ pcb_undo_restore_serial(); if (pcb_select_object(PCB)) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); else pcb_undo_inc_serial(); /* We didn't select anything new, so, the deselection should get its own SN. */ hl->tool_hit = 0; @@ -230,7 +230,7 @@ pcb_undo_restore_serial(); if (pcb_select_block(pcb, &box, rnd_true, rnd_true, rnd_false)) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); pcb_undo_inc_serial(); } else if (pcb_bumped) Index: trunk/src_plugins/tool_std/tool_buffer.c =================================================================== --- trunk/src_plugins/tool_std/tool_buffer.c (revision 32708) +++ trunk/src_plugins/tool_std/tool_buffer.c (revision 32709) @@ -63,7 +63,7 @@ } if (pcb_buffer_copy_to_layout(pcb, pcb_crosshair.AttachedObject.tx, pcb_crosshair.AttachedObject.ty, keep_ids)) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); rnd_gui->invalidate_all(rnd_gui); } } Index: trunk/src_plugins/tool_std/tool_copy.c =================================================================== --- trunk/src_plugins/tool_std/tool_copy.c (revision 32708) +++ trunk/src_plugins/tool_std/tool_copy.c (revision 32709) @@ -81,7 +81,7 @@ pcb_crosshair.AttachedObject.Ptr2, pcb_crosshair.AttachedObject.Ptr3, pcb_crosshair.AttachedObject.tx - pcb_crosshair.AttachedObject.X, pcb_crosshair.AttachedObject.ty - pcb_crosshair.AttachedObject.Y); pcb_subc_as_board_update(PCB); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } /* reset identifiers */ Index: trunk/src_plugins/tool_std/tool_insert.c =================================================================== --- trunk/src_plugins/tool_std/tool_insert.c (revision 32708) +++ trunk/src_plugins/tool_std/tool_insert.c (revision 32709) @@ -62,6 +62,7 @@ void pcb_tool_insert_notify_mode(rnd_hidlib_t *hl) { + pcb_board_t *pcb = (pcb_board_t *)hl; switch (pcb_crosshair.AttachedObject.State) { /* first notify, lookup object */ case PCB_CH_STATE_FIRST: @@ -98,7 +99,7 @@ pcb_insert_point_in_object(pcb_crosshair.AttachedObject.Type, pcb_crosshair.AttachedObject.Ptr1, pcb_crosshair.AttachedObject.Ptr2, &polyIndex, InsertedPoint.X, InsertedPoint.Y, rnd_false, rnd_false); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); pcb_crosshair.AttachedObject.Type = PCB_OBJ_VOID; pcb_crosshair.AttachedObject.State = PCB_CH_STATE_FIRST; @@ -118,7 +119,7 @@ pcb_insert_point_in_object(pcb_crosshair.AttachedObject.Type, pcb_crosshair.AttachedObject.Ptr1, pcb_crosshair.AttachedObject.Ptr2, &polyIndex, InsertedPoint.X, InsertedPoint.Y, rnd_false, rnd_false); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); /* reset identifiers */ pcb_crosshair.AttachedObject.Type = PCB_OBJ_VOID; Index: trunk/src_plugins/tool_std/tool_line.c =================================================================== --- trunk/src_plugins/tool_std/tool_line.c (revision 32708) +++ trunk/src_plugins/tool_std/tool_line.c (revision 32709) @@ -416,7 +416,7 @@ pcb_crosshair.AttachedLine.Point2.X = ptr2->Point1.X; pcb_crosshair.AttachedLine.Point2.Y = ptr2->Point1.Y; if ((type = pcb_undo(rnd_true)) == 0) - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); /* check that the undo was of the right type */ if ((type & PCB_UNDO_CREATE) == 0) { /* wrong undo type, restore anchor points */ @@ -464,7 +464,7 @@ if (pcb_crosshair.AttachedLine.State == PCB_CH_STATE_SECOND) return rnd_false; if (pcb_redo(rnd_true)) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); if (pcb_crosshair.AttachedLine.State != PCB_CH_STATE_FIRST) { pcb_line_t *line = linelist_last(&PCB_CURRLAYER(pcb)->Line); pcb_crosshair.AttachedLine.Point1.X = pcb_crosshair.AttachedLine.Point2.X = line->Point2.X; Index: trunk/src_plugins/tool_std/tool_move.c =================================================================== --- trunk/src_plugins/tool_std/tool_move.c (revision 32708) +++ trunk/src_plugins/tool_std/tool_move.c (revision 32709) @@ -55,6 +55,7 @@ void pcb_tool_move_notify_mode(rnd_hidlib_t *hl) { + pcb_board_t *pcb = (pcb_board_t *)hl; rnd_coord_t dx, dy; switch (pcb_crosshair.AttachedObject.State) { @@ -114,7 +115,7 @@ if (!pcb_marked.user_placed) pcb_crosshair_set_local_ref(0, 0, rnd_false); pcb_subc_as_board_update(PCB); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } else if (pcb_crosshair.extobj_edit != NULL) pcb_extobj_float_geo(pcb_crosshair.extobj_edit); Index: trunk/src_plugins/tool_std/tool_remove.c =================================================================== --- trunk/src_plugins/tool_std/tool_remove.c (revision 32708) +++ trunk/src_plugins/tool_std/tool_remove.c (revision 32709) @@ -81,7 +81,7 @@ pcb_remove_object(type, ptr1, ptr2, ptr3); pcb_undo_inc_serial(); pcb_subc_as_board_update(PCB); - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(pcb, rnd_true); } } Index: trunk/src_plugins/vendordrill/vendor.c =================================================================== --- trunk/src_plugins/vendordrill/vendor.c (revision 32708) +++ trunk/src_plugins/vendordrill/vendor.c (revision 32709) @@ -374,7 +374,7 @@ * file, redraw things, and make sure we can undo. */ if (changed) { - pcb_board_set_changed_flag(rnd_true); + pcb_board_set_changed_flag(PCB, rnd_true); rnd_hid_redraw(PCB); pcb_undo_inc_serial(); }