Index: trunk/doc-rnd/hacking/renames =================================================================== --- trunk/doc-rnd/hacking/renames (revision 5022) +++ trunk/doc-rnd/hacking/renames (revision 5023) @@ -874,3 +874,25 @@ LockUndo -> pcb_undo_lock UnlockUndo -> pcb_undo_unlock Undoing -> pcb_undoing +MoveObjectToRemoveUndoList -> pcb_undo_move_obj_to_remove +AddObjectToRemovePointUndoList -> pcb_undo_add_obj_to_remove_point +AddObjectToInsertPointUndoList -> pcb_undo_add_obj_to_insert_point +AddObjectToRemoveContourUndoList -> pcb_undo_add_obj_to_remove_contour +AddObjectToInsertContourUndoList -> pcb_undo_add_obj_to_insert_contour +AddObjectToMoveUndoList -> pcb_undo_add_obj_to_move +AddObjectToChangeNameUndoList -> pcb_undo_add_obj_to_change_name +AddObjectToChangePinnumUndoList -> pcb_undo_add_obj_to_change_pinnum +AddObjectToRotateUndoList -> pcb_undo_add_obj_to_rotate +AddObjectToCreateUndoList -> pcb_undo_add_obj_to_create +AddObjectToMirrorUndoList -> pcb_undo_add_obj_to_mirror +AddObjectToMoveToLayerUndoList -> pcb_undo_add_obj_to_move_to_layer +AddObjectToFlagUndoList -> pcb_undo_add_obj_to_flag +AddObjectToSizeUndoList -> pcb_undo_add_obj_to_size +AddObjectTo2ndSizeUndoList -> pcb_undo_add_obj_to_2nd_size +AddObjectToClearSizeUndoList -> pcb_undo_add_obj_to_clear_size +AddObjectToMaskSizeUndoList -> pcb_undo_add_obj_to_mask_size +AddObjectToChangeAnglesUndoList -> pcb_undo_add_obj_to_change_angles +AddObjectToChangeRadiiUndoList -> pcb_undo_add_obj_to_change_radii +AddObjectToClearPolyUndoList -> pcb_undo_add_obj_to_clear_poly +AddLayerChangeToUndoList -> pcb_undo_add_layer_change +AddNetlistLibToUndoList -> pcb_undo_add_netlist_lib Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (revision 5022) +++ trunk/src/action_helper.c (revision 5023) @@ -601,7 +601,7 @@ if ((via = pcb_via_new(PCB->Data, Note.X, Note.Y, conf_core.design.via_thickness, 2 * conf_core.design.clearance, 0, conf_core.design.via_drilling_hole, NULL, pcb_no_flags())) != NULL) { - AddObjectToCreateUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_create(PCB_TYPE_VIA, via, via, via); if (gui->shift_is_pressed()) pcb_chg_obj_thermal(PCB_TYPE_VIA, via, via, via, PCB->ThermStyle); pcb_undo_inc_serial(); @@ -665,7 +665,7 @@ bx = pcb_arc_get_ends(arc); Crosshair.AttachedBox.Point1.X = Crosshair.AttachedBox.Point2.X = bx->X2; Crosshair.AttachedBox.Point1.Y = Crosshair.AttachedBox.Point2.Y = bx->Y2; - AddObjectToCreateUndoList(PCB_TYPE_ARC, CURRENT, arc, arc); + pcb_undo_add_obj_to_create(PCB_TYPE_ARC, CURRENT, arc, arc); pcb_undo_inc_serial(); addedLines++; DrawArc(CURRENT, arc); @@ -758,7 +758,7 @@ pcb_rat_t *line; if ((line = pcb_rat_add_net())) { addedLines++; - AddObjectToCreateUndoList(PCB_TYPE_RATLINE, line, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_RATLINE, line, line, line); pcb_undo_inc_serial(); DrawRat(line); Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; @@ -807,7 +807,7 @@ pcb_pin_t *via; addedLines++; - AddObjectToCreateUndoList(PCB_TYPE_LINE, CURRENT, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, CURRENT, line, line); DrawLine(CURRENT, line); /* place a via if vias are visible, the layer is in a new group since the last line and there @@ -825,7 +825,7 @@ Crosshair.AttachedLine.Point1.Y, conf_core.design.via_thickness, 2 * conf_core.design.clearance, 0, conf_core.design.via_drilling_hole, NULL, pcb_no_flags())) != NULL) { - AddObjectToCreateUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_create(PCB_TYPE_VIA, via, via, via); DrawVia(via); } /* copy the coordinates */ @@ -845,7 +845,7 @@ pcb_flag_make((conf_core.editor.auto_drc ? PCB_FLAG_FOUND : 0) | (conf_core.editor.clear_line ? PCB_FLAG_CLEARLINE : 0)))) != NULL) { addedLines++; - AddObjectToCreateUndoList(PCB_TYPE_LINE, CURRENT, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, CURRENT, line, line); pcb_undo_inc_serial(); DrawLine(CURRENT, line); /* move to new start point */ @@ -888,7 +888,7 @@ Crosshair.AttachedBox.Point1.Y, Crosshair.AttachedBox.Point2.X, Crosshair.AttachedBox.Point2.Y, pcb_flag_make(flags))) != NULL) { - AddObjectToCreateUndoList(PCB_TYPE_POLYGON, CURRENT, polygon, polygon); + pcb_undo_add_obj_to_create(PCB_TYPE_POLYGON, CURRENT, polygon, polygon); pcb_undo_inc_serial(); DrawPolygon(CURRENT, polygon); pcb_draw(); @@ -912,7 +912,7 @@ flag |= PCB_FLAG_ONSOLDER; if ((text = pcb_text_new(CURRENT, &PCB->Font, Note.X, Note.Y, 0, conf_core.design.text_scale, string, pcb_flag_make(flag))) != NULL) { - AddObjectToCreateUndoList(PCB_TYPE_TEXT, CURRENT, text, text); + pcb_undo_add_obj_to_create(PCB_TYPE_TEXT, CURRENT, text, text); pcb_undo_inc_serial(); DrawText(CURRENT, text); pcb_draw(); @@ -1117,7 +1117,7 @@ if (PCB->RatOn) EraseRat((pcb_rat_t *) ptr->Line); if (PCB_FLAG_TEST(PCB_FLAG_RUBBEREND, ptr->Line)) - MoveObjectToRemoveUndoList(PCB_TYPE_RATLINE, ptr->Line, ptr->Line, ptr->Line); + pcb_undo_move_obj_to_remove(PCB_TYPE_RATLINE, ptr->Line, ptr->Line, ptr->Line); else PCB_FLAG_TOGGLE(PCB_FLAG_RUBBEREND, ptr->Line); /* only remove line once */ ptr++; Index: trunk/src/change.c =================================================================== --- trunk/src/change.c (revision 5022) +++ trunk/src/change.c (revision 5023) @@ -1217,9 +1217,9 @@ if (old != (char *) -1) { if (pinnum) - AddObjectToChangePinnumUndoList(Type, Ptr1, Ptr2, Ptr3, old); + pcb_undo_add_obj_to_change_pinnum(Type, Ptr1, Ptr2, Ptr3, old); else - AddObjectToChangeNameUndoList(Type, Ptr1, Ptr2, Ptr3, old); + pcb_undo_add_obj_to_change_name(Type, Ptr1, Ptr2, Ptr3, old); pcb_undo_inc_serial(); } pcb_draw(); Index: trunk/src/change_act.c =================================================================== --- trunk/src/change_act.c (revision 5022) +++ trunk/src/change_act.c (revision 5023) @@ -574,7 +574,7 @@ PCB_PIN_LOOP(element); { if (PCB_NSTRCMP(pinnum, pin->Number) == 0) { - AddObjectToChangeNameUndoList(PCB_TYPE_PIN, NULL, NULL, pin, pin->Name); + pcb_undo_add_obj_to_change_name(PCB_TYPE_PIN, NULL, NULL, pin, pin->Name); /* * Note: we can't free() pin->Name first because * it is used in the undo list @@ -589,7 +589,7 @@ PCB_PAD_LOOP(element); { if (PCB_NSTRCMP(pinnum, pad->Number) == 0) { - AddObjectToChangeNameUndoList(PCB_TYPE_PAD, NULL, NULL, pad, pad->Name); + pcb_undo_add_obj_to_change_name(PCB_TYPE_PAD, NULL, NULL, pad, pad->Name); /* * Note: we can't free() pad->Name first because * it is used in the undo list @@ -677,7 +677,7 @@ for (i = 0; i < Crosshair.AttachedObject.RubberbandN; i++, ptr++) { if (PCB->RatOn) EraseRat((pcb_rat_t *) ptr->Line); - MoveObjectToRemoveUndoList(PCB_TYPE_RATLINE, ptr->Line, ptr->Line, ptr->Line); + pcb_undo_move_obj_to_remove(PCB_TYPE_RATLINE, ptr->Line, ptr->Line, ptr->Line); } pcb_undo_inc_serial(); pcb_draw(); Index: trunk/src/find_clear.c =================================================================== --- trunk/src/find_clear.c (revision 5022) +++ trunk/src/find_clear.c (revision 5023) @@ -34,7 +34,7 @@ { if (PCB_FLAG_TEST(flag, via)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, via, via, via); PCB_FLAG_CLEAR(flag, via); if (AndDraw) DrawVia(via); @@ -48,7 +48,7 @@ { if (PCB_FLAG_TEST(flag, pin)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_CLEAR(flag, pin); if (AndDraw) DrawPin(pin); @@ -60,7 +60,7 @@ { if (PCB_FLAG_TEST(flag, pad)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_CLEAR(flag, pad); if (AndDraw) DrawPad(pad); @@ -86,7 +86,7 @@ { if (PCB_FLAG_TEST(flag, line)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, line, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, line, line, line); PCB_FLAG_CLEAR(flag, line); if (AndDraw) DrawRat(line); @@ -98,7 +98,7 @@ { if (PCB_FLAG_TEST(flag, line)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_LINE, layer, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, layer, line, line); PCB_FLAG_CLEAR(flag, line); if (AndDraw) DrawLine(layer, line); @@ -110,7 +110,7 @@ { if (PCB_FLAG_TEST(flag, arc)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_ARC, layer, arc, arc); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, layer, arc, arc); PCB_FLAG_CLEAR(flag, arc); if (AndDraw) DrawArc(layer, arc); @@ -122,7 +122,7 @@ { if (PCB_FLAG_TEST(flag, polygon)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, layer, polygon, polygon); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, layer, polygon, polygon); PCB_FLAG_CLEAR(flag, polygon); if (AndDraw) DrawPolygon(layer, polygon); Index: trunk/src/find_drc.c =================================================================== --- trunk/src/find_drc.c (revision 5022) +++ trunk/src/find_drc.c (revision 5023) @@ -244,7 +244,7 @@ switch (type) { case PCB_TYPE_LINE: if (line->Clearance < 2 * PCB->Bloat) { - AddObjectToFlagUndoList(type, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(type, ptr1, ptr2, ptr2); PCB_FLAG_SET(TheFlag, line); message = _("Line with insufficient clearance inside polygon\n"); goto doIsBad; @@ -252,7 +252,7 @@ break; case PCB_TYPE_ARC: if (arc->Clearance < 2 * PCB->Bloat) { - AddObjectToFlagUndoList(type, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(type, ptr1, ptr2, ptr2); PCB_FLAG_SET(TheFlag, arc); message = _("Arc with insufficient clearance inside polygon\n"); goto doIsBad; @@ -261,7 +261,7 @@ case PCB_TYPE_PAD: if (pad->Clearance && pad->Clearance < 2 * PCB->Bloat) if (pcb_is_pad_in_poly(pad, polygon)) { - AddObjectToFlagUndoList(type, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(type, ptr1, ptr2, ptr2); PCB_FLAG_SET(TheFlag, pad); message = _("Pad with insufficient clearance inside polygon\n"); goto doIsBad; @@ -269,7 +269,7 @@ break; case PCB_TYPE_PIN: if (pin->Clearance && pin->Clearance < 2 * PCB->Bloat) { - AddObjectToFlagUndoList(type, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(type, ptr1, ptr2, ptr2); PCB_FLAG_SET(TheFlag, pin); message = _("Pin with insufficient clearance inside polygon\n"); goto doIsBad; @@ -277,7 +277,7 @@ break; case PCB_TYPE_VIA: if (pin->Clearance && pin->Clearance < 2 * PCB->Bloat) { - AddObjectToFlagUndoList(type, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(type, ptr1, ptr2, ptr2); PCB_FLAG_SET(TheFlag, pin); message = _("Via with insufficient clearance inside polygon\n"); goto doIsBad; @@ -289,7 +289,7 @@ return R_DIR_NOT_FOUND; doIsBad: - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, layer, polygon, polygon); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, layer, polygon, polygon); PCB_FLAG_SET(PCB_FLAG_FOUND, polygon); DrawPolygon(layer, polygon); pcb_draw_obj(type, ptr1, ptr2); @@ -401,7 +401,7 @@ if (IsBad) break; if (line->Thickness < PCB->minWid) { - AddObjectToFlagUndoList(PCB_TYPE_LINE, layer, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, layer, line, line); PCB_FLAG_SET(TheFlag, line); DrawLine(layer, line); drcerr_count++; @@ -432,7 +432,7 @@ if (IsBad) break; if (arc->Thickness < PCB->minWid) { - AddObjectToFlagUndoList(PCB_TYPE_ARC, layer, arc, arc); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, layer, arc, arc); PCB_FLAG_SET(TheFlag, arc); DrawArc(layer, arc); drcerr_count++; @@ -463,7 +463,7 @@ if (IsBad) break; if (!PCB_FLAG_TEST(PCB_FLAG_HOLE, pin) && pin->Thickness - pin->DrillingHole < 2 * PCB->minRing) { - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_SET(TheFlag, pin); DrawPin(pin); drcerr_count++; @@ -486,7 +486,7 @@ pcb_undo(pcb_false); } if (pin->DrillingHole < PCB->minDrill) { - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_SET(TheFlag, pin); DrawPin(pin); drcerr_count++; @@ -517,7 +517,7 @@ if (IsBad) break; if (pad->Thickness < PCB->minWid) { - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_SET(TheFlag, pad); DrawPad(pad); drcerr_count++; @@ -548,7 +548,7 @@ if (IsBad) break; if (!PCB_FLAG_TEST(PCB_FLAG_HOLE, via) && via->Thickness - via->DrillingHole < 2 * PCB->minRing) { - AddObjectToFlagUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, via, via, via); PCB_FLAG_SET(TheFlag, via); DrawVia(via); drcerr_count++; @@ -571,7 +571,7 @@ pcb_undo(pcb_false); } if (via->DrillingHole < PCB->minDrill) { - AddObjectToFlagUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, via, via, via); PCB_FLAG_SET(TheFlag, via); DrawVia(via); drcerr_count++; Index: trunk/src/find_lookup.c =================================================================== --- trunk/src/find_lookup.c (revision 5022) +++ trunk/src/find_lookup.c (revision 5023) @@ -50,7 +50,7 @@ static pcb_bool ADD_PV_TO_LIST(pcb_pin_t *Pin, int from_type, void *from_ptr, pcb_found_conn_type_t type) { if (User) - AddObjectToFlagUndoList(Pin->Element ? PCB_TYPE_PIN : PCB_TYPE_VIA, Pin->Element ? Pin->Element : Pin, Pin, Pin); + pcb_undo_add_obj_to_flag(Pin->Element ? PCB_TYPE_PIN : PCB_TYPE_VIA, Pin->Element ? Pin->Element : Pin, Pin, Pin); PCB_FLAG_SET(TheFlag, Pin); make_callback(PCB_TYPE_PIN, Pin, from_type, from_ptr, type); PVLIST_ENTRY(PVList.Number) = Pin; @@ -68,7 +68,7 @@ { /*fprintf(stderr, "ADD_PAD_TO_LIST cardinal %d %p %d\n", L, Pad, from_type);*/ if (User) - AddObjectToFlagUndoList(PCB_TYPE_PAD, Pad->Element, Pad, Pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, Pad->Element, Pad, Pad); PCB_FLAG_SET(TheFlag, Pad); make_callback(PCB_TYPE_PAD, Pad, from_type, from_ptr, type); PADLIST_ENTRY((L), PadList[(L)].Number) = Pad; @@ -85,7 +85,7 @@ static pcb_bool ADD_LINE_TO_LIST(pcb_cardinal_t L, pcb_line_t *Ptr, int from_type, void *from_ptr, pcb_found_conn_type_t type) { if (User) - AddObjectToFlagUndoList(PCB_TYPE_LINE, LAYER_PTR(L), (Ptr), (Ptr)); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, LAYER_PTR(L), (Ptr), (Ptr)); PCB_FLAG_SET(TheFlag, (Ptr)); make_callback(PCB_TYPE_LINE, Ptr, from_type, from_ptr, type); LINELIST_ENTRY((L), LineList[(L)].Number) = (Ptr); @@ -102,7 +102,7 @@ static pcb_bool ADD_ARC_TO_LIST(pcb_cardinal_t L, pcb_arc_t *Ptr, int from_type, void *from_ptr, pcb_found_conn_type_t type) { if (User) - AddObjectToFlagUndoList(PCB_TYPE_ARC, LAYER_PTR(L), (Ptr), (Ptr)); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, LAYER_PTR(L), (Ptr), (Ptr)); PCB_FLAG_SET(TheFlag, (Ptr)); make_callback(PCB_TYPE_ARC, Ptr, from_type, from_ptr, type); ARCLIST_ENTRY((L), ArcList[(L)].Number) = (Ptr); @@ -119,7 +119,7 @@ static pcb_bool ADD_RAT_TO_LIST(pcb_rat_t *Ptr, int from_type, void *from_ptr, pcb_found_conn_type_t type) { if (User) - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, (Ptr), (Ptr), (Ptr)); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, (Ptr), (Ptr), (Ptr)); PCB_FLAG_SET(TheFlag, (Ptr)); make_callback(PCB_TYPE_RATLINE, Ptr, from_type, from_ptr, type); RATLIST_ENTRY(RatList.Number) = (Ptr); @@ -136,7 +136,7 @@ static pcb_bool ADD_POLYGON_TO_LIST(pcb_cardinal_t L, pcb_polygon_t *Ptr, int from_type, void *from_ptr, pcb_found_conn_type_t type) { if (User) - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, LAYER_PTR(L), (Ptr), (Ptr)); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, LAYER_PTR(L), (Ptr), (Ptr)); PCB_FLAG_SET(TheFlag, (Ptr)); make_callback(PCB_TYPE_POLYGON, Ptr, from_type, from_ptr, type); POLYGONLIST_ENTRY((L), PolygonList[(L)].Number) = (Ptr); Index: trunk/src/find_misc.c =================================================================== --- trunk/src/find_misc.c (revision 5022) +++ trunk/src/find_misc.c (revision 5023) @@ -300,7 +300,7 @@ { if (PCB_FLAG_TEST(TheFlag, via)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, via, via, via); PCB_FLAG_CLEAR(TheFlag, via); if (AndDraw) DrawVia(via); @@ -314,7 +314,7 @@ { if (PCB_FLAG_TEST(TheFlag, pin)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_CLEAR(TheFlag, pin); if (AndDraw) DrawPin(pin); @@ -326,7 +326,7 @@ { if (PCB_FLAG_TEST(TheFlag, pad)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_CLEAR(TheFlag, pad); if (AndDraw) DrawPad(pad); @@ -352,7 +352,7 @@ { if (PCB_FLAG_TEST(TheFlag, line)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, line, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, line, line, line); PCB_FLAG_CLEAR(TheFlag, line); if (AndDraw) DrawRat(line); @@ -364,7 +364,7 @@ { if (PCB_FLAG_TEST(TheFlag, line)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_LINE, layer, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, layer, line, line); PCB_FLAG_CLEAR(TheFlag, line); if (AndDraw) DrawLine(layer, line); @@ -376,7 +376,7 @@ { if (PCB_FLAG_TEST(TheFlag, arc)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_ARC, layer, arc, arc); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, layer, arc, arc); PCB_FLAG_CLEAR(TheFlag, arc); if (AndDraw) DrawArc(layer, arc); @@ -388,7 +388,7 @@ { if (PCB_FLAG_TEST(TheFlag, polygon)) { if (AndDraw) - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, layer, polygon, polygon); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, layer, polygon, polygon); PCB_FLAG_CLEAR(TheFlag, polygon); if (AndDraw) DrawPolygon(layer, polygon); Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 5022) +++ trunk/src/gui_act.c (revision 5023) @@ -464,7 +464,7 @@ ErasePinName(pin); else DrawPinName(pin); - AddObjectToFlagUndoList(PCB_TYPE_PIN, ptr1, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, ptr1, pin, pin); PCB_FLAG_TOGGLE(PCB_FLAG_DISPLAYNAME, pin); } END_LOOP; @@ -474,7 +474,7 @@ ErasePadName(pad); else DrawPadName(pad); - AddObjectToFlagUndoList(PCB_TYPE_PAD, ptr1, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, ptr1, pad, pad); PCB_FLAG_TOGGLE(PCB_FLAG_DISPLAYNAME, pad); } END_LOOP; @@ -488,7 +488,7 @@ ErasePinName((pcb_pin_t *) ptr2); else DrawPinName((pcb_pin_t *) ptr2); - AddObjectToFlagUndoList(PCB_TYPE_PIN, ptr1, ptr2, ptr3); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, ptr1, ptr2, ptr3); PCB_FLAG_TOGGLE(PCB_FLAG_DISPLAYNAME, (pcb_pin_t *) ptr2); pcb_board_set_changed_flag(pcb_true); pcb_undo_inc_serial(); @@ -500,7 +500,7 @@ ErasePadName((pcb_pad_t *) ptr2); else DrawPadName((pcb_pad_t *) ptr2); - AddObjectToFlagUndoList(PCB_TYPE_PAD, ptr1, ptr2, ptr3); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, ptr1, ptr2, ptr3); PCB_FLAG_TOGGLE(PCB_FLAG_DISPLAYNAME, (pcb_pad_t *) ptr2); pcb_board_set_changed_flag(pcb_true); pcb_undo_inc_serial(); @@ -511,7 +511,7 @@ EraseViaName((pcb_pin_t *) ptr2); else DrawViaName((pcb_pin_t *) ptr2); - AddObjectToFlagUndoList(PCB_TYPE_VIA, ptr1, ptr2, ptr3); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, ptr1, ptr2, ptr3); PCB_FLAG_TOGGLE(PCB_FLAG_DISPLAYNAME, (pcb_pin_t *) ptr2); pcb_board_set_changed_flag(pcb_true); pcb_undo_inc_serial(); @@ -917,7 +917,7 @@ gui->get_coords(_("Select an Object"), &x, &y); if ((type = pcb_search_screen(x, y, PCB_TYPE_ELEMENT, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) { - AddObjectToFlagUndoList(type, ptr1, ptr2, ptr3); + pcb_undo_add_obj_to_flag(type, ptr1, ptr2, ptr3); EraseElementName((pcb_element_t *) ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_HIDENAME, (pcb_element_t *) ptr2); DrawElementName((pcb_element_t *) ptr2); @@ -934,7 +934,7 @@ { if ((PCB_FLAG_TEST(PCB_FLAG_SELECTED, element) || PCB_FLAG_TEST(PCB_FLAG_SELECTED, &NAMEONPCB_TEXT(element))) && (PCB_FRONT(element) || PCB->InvisibleObjectsOn)) { - AddObjectToFlagUndoList(PCB_TYPE_ELEMENT, element, element, element); + pcb_undo_add_obj_to_flag(PCB_TYPE_ELEMENT, element, element, element); EraseElementName(element); PCB_FLAG_TOGGLE(PCB_FLAG_HIDENAME, element); DrawElementName(element); Index: trunk/src/layer.c =================================================================== --- trunk/src/layer.c (revision 5022) +++ trunk/src/layer.c (revision 5023) @@ -928,7 +928,7 @@ pcb_layer_t saved_layer; int saved_group; - AddLayerChangeToUndoList(old_index, new_index); + pcb_undo_add_layer_change(old_index, new_index); pcb_undo_inc_serial(); if (old_index < -1 || old_index >= max_copper_layer) { Index: trunk/src/move.c =================================================================== --- trunk/src/move.c (revision 5022) +++ trunk/src/move.c (revision 5023) @@ -75,7 +75,7 @@ ctx.move.pcb = PCB; ctx.move.dx = DX; ctx.move.dy = DY; - AddObjectToMoveUndoList(Type, Ptr1, Ptr2, Ptr3, DX, DY); + pcb_undo_add_obj_to_move(Type, Ptr1, Ptr2, Ptr3, DX, DY); result = pcb_object_operation(&MoveFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3); return (result); } @@ -111,13 +111,13 @@ while (Crosshair.AttachedObject.RubberbandN) { /* first clear any marks that we made in the line flags */ PCB_FLAG_CLEAR(PCB_FLAG_RUBBEREND, ptr->Line); - AddObjectToMoveUndoList(PCB_TYPE_LINE_POINT, ptr->Layer, ptr->Line, ptr->MovedPoint, DX, DY); + pcb_undo_add_obj_to_move(PCB_TYPE_LINE_POINT, ptr->Layer, ptr->Line, ptr->MovedPoint, DX, DY); MoveLinePoint(&ctx, ptr->Layer, ptr->Line, ptr->MovedPoint); Crosshair.AttachedObject.RubberbandN--; ptr++; } - AddObjectToMoveUndoList(Type, Ptr1, Ptr2, Ptr3, DX, DY); + pcb_undo_add_obj_to_move(Type, Ptr1, Ptr2, Ptr3, DX, DY); ptr2 = pcb_object_operation(&MoveFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3); pcb_undo_inc_serial(); Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 5022) +++ trunk/src/obj_arc.c (revision 5023) @@ -149,7 +149,7 @@ } pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, a); pcb_r_delete_entry(Layer->arc_tree, (pcb_box_t *) a); - AddObjectToChangeAnglesUndoList(PCB_TYPE_ARC, a, a, a); + pcb_undo_add_obj_to_change_angles(PCB_TYPE_ARC, a, a, a); a->StartAngle = new_sa; a->Delta = new_da; pcb_arc_bbox(a); @@ -162,7 +162,7 @@ { pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, a); pcb_r_delete_entry(Layer->arc_tree, (pcb_box_t *) a); - AddObjectToChangeRadiiUndoList(PCB_TYPE_ARC, a, a, a); + pcb_undo_add_obj_to_change_radii(PCB_TYPE_ARC, a, a, a); a->Width = new_width; a->Height = new_height; pcb_arc_bbox(a); @@ -258,7 +258,7 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Arc)) return (NULL); if (value <= MAX_LINESIZE && value >= MIN_LINESIZE && value != Arc->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); + pcb_undo_add_obj_to_size(PCB_TYPE_ARC, Layer, Arc, Arc); EraseArc(Arc); pcb_r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); @@ -281,7 +281,7 @@ return (NULL); value = MIN(MAX_LINESIZE, MAX(value, PCB->Bloat * 2 + 2)); if (value != Arc->Clearance) { - AddObjectToClearSizeUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); + pcb_undo_add_obj_to_clear_size(PCB_TYPE_ARC, Layer, Arc, Arc); EraseArc(Arc); pcb_r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); @@ -322,7 +322,7 @@ value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : (*dst) + ctx->chgsize.delta; value = MIN(MAX_ARCSIZE, MAX(value, MIN_ARCSIZE)); if (value != *dst) { - AddObjectToChangeRadiiUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); + pcb_undo_add_obj_to_change_radii(PCB_TYPE_ARC, Layer, Arc, Arc); EraseArc(Arc); pcb_r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); @@ -362,7 +362,7 @@ value += 360; if (value != *dst) { - AddObjectToChangeAnglesUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); + pcb_undo_add_obj_to_change_angles(PCB_TYPE_ARC, Layer, Arc, Arc); EraseArc(Arc); pcb_r_delete_entry(Layer->arc_tree, (pcb_box_t *) Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); @@ -384,13 +384,13 @@ EraseArc(Arc); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Arc)) { pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); - AddObjectToClearPolyUndoList(PCB_TYPE_ARC, Layer, Arc, Arc, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_ARC, Layer, Arc, Arc, pcb_false); } - AddObjectToFlagUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, Layer, Arc, Arc); PCB_FLAG_TOGGLE(PCB_FLAG_CLEARLINE, Arc); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Arc)) { pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); - AddObjectToClearPolyUndoList(PCB_TYPE_ARC, Layer, Arc, Arc, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_ARC, Layer, Arc, Arc, pcb_true); } DrawArc(Layer, Arc); return (Arc); @@ -423,7 +423,7 @@ if (!arc) return (arc); DrawArc(Layer, arc); - AddObjectToCreateUndoList(PCB_TYPE_ARC, Layer, arc, arc); + pcb_undo_add_obj_to_create(PCB_TYPE_ARC, Layer, arc, arc); return (arc); } @@ -476,7 +476,7 @@ } if (((long int) ctx->move.dst_layer == -1) || ctx->move.dst_layer == Layer) return (Arc); - AddObjectToMoveToLayerUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); + pcb_undo_add_obj_to_move_to_layer(PCB_TYPE_ARC, Layer, Arc, Arc); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_ARC, Layer, Arc); if (Layer->On) EraseArc(Arc); @@ -507,7 +507,7 @@ if (!ctx->remove.bulk) pcb_draw(); } - MoveObjectToRemoveUndoList(PCB_TYPE_ARC, Layer, Arc, Arc); + pcb_undo_move_obj_to_remove(PCB_TYPE_ARC, Layer, Arc, Arc); return NULL; } Index: trunk/src/obj_elem.c =================================================================== --- trunk/src/obj_elem.c (revision 5022) +++ trunk/src/obj_elem.c (revision 5023) @@ -453,7 +453,7 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Element)) return (pcb_false); EraseElement(Element); - AddObjectToMirrorUndoList(PCB_TYPE_ELEMENT, Element, Element, Element, yoff); + pcb_undo_add_obj_to_mirror(PCB_TYPE_ELEMENT, Element, Element, Element, yoff); pcb_element_mirror(PCB->Data, Element, yoff); DrawElement(Element); return (pcb_true); @@ -1195,12 +1195,12 @@ value >= MIN_PINORVIAHOLE && (PCB_FLAG_TEST(PCB_FLAG_HOLE, pin) || value <= pin->Thickness - MIN_PINORVIACOPPER) && value != pin->DrillingHole) { changed = pcb_true; - AddObjectTo2ndSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); + pcb_undo_add_obj_to_2nd_size(PCB_TYPE_PIN, Element, pin, pin); ErasePin(pin); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); pin->DrillingHole = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, pin)) { - AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); + pcb_undo_add_obj_to_size(PCB_TYPE_PIN, Element, pin, pin); pin->Thickness = value; } pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); @@ -1227,12 +1227,12 @@ value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : pin->DrillingHole + ctx->chgsize.delta; if (value <= MAX_PINORVIASIZE && value >= pin->DrillingHole + MIN_PINORVIACOPPER && value != pin->Thickness) { changed = pcb_true; - AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); + pcb_undo_add_obj_to_size(PCB_TYPE_PIN, Element, pin, pin); ErasePin(pin); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); pin->Thickness = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, pin)) { - AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); + pcb_undo_add_obj_to_size(PCB_TYPE_PIN, Element, pin, pin); pin->Thickness = value; } pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); @@ -1261,12 +1261,12 @@ value >= MIN_PINORVIAHOLE && (PCB_FLAG_TEST(PCB_FLAG_HOLE, pin) || value <= pin->Thickness - MIN_PINORVIACOPPER) && value != pin->Clearance) { changed = pcb_true; - AddObjectToClearSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); + pcb_undo_add_obj_to_clear_size(PCB_TYPE_PIN, Element, pin, pin); ErasePin(pin); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); pin->Clearance = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, pin)) { - AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, pin, pin); + pcb_undo_add_obj_to_size(PCB_TYPE_PIN, Element, pin, pin); pin->Thickness = value; } pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, pin); @@ -1280,13 +1280,13 @@ value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : pad->Clearance + ctx->chgsize.delta; if (value <= MAX_PINORVIASIZE && value >= MIN_PINORVIAHOLE && value != pad->Clearance) { changed = pcb_true; - AddObjectToClearSizeUndoList(PCB_TYPE_PAD, Element, pad, pad); + pcb_undo_add_obj_to_clear_size(PCB_TYPE_PAD, Element, pad, pad); ErasePad(pad); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PAD, Element, pad); pcb_r_delete_entry(PCB->Data->pad_tree, &pad->BoundingBox); pad->Clearance = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, pad)) { - AddObjectToSizeUndoList(PCB_TYPE_PAD, Element, pad, pad); + pcb_undo_add_obj_to_size(PCB_TYPE_PAD, Element, pad, pad); pad->Thickness = value; } /* SetElementBB updates all associated rtrees */ @@ -1318,7 +1318,7 @@ { value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : line->Thickness + ctx->chgsize.delta; if (value <= MAX_LINESIZE && value >= MIN_LINESIZE && value != line->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_ELEMENT_LINE, Element, line, line); + pcb_undo_add_obj_to_size(PCB_TYPE_ELEMENT_LINE, Element, line, line); line->Thickness = value; changed = pcb_true; } @@ -1328,7 +1328,7 @@ { value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : arc->Thickness + ctx->chgsize.delta; if (value <= MAX_LINESIZE && value >= MIN_LINESIZE && value != arc->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_ELEMENT_ARC, Element, arc, arc); + pcb_undo_add_obj_to_size(PCB_TYPE_ELEMENT_ARC, Element, arc, arc); arc->Thickness = value; changed = pcb_true; } @@ -1354,7 +1354,7 @@ EraseElementName(Element); PCB_ELEMENT_PCB_TEXT_LOOP(Element); { - AddObjectToSizeUndoList(PCB_TYPE_ELEMENT_NAME, Element, text, text); + pcb_undo_add_obj_to_size(PCB_TYPE_ELEMENT_NAME, Element, text, text); pcb_r_delete_entry(PCB->Data->name_tree[n], (pcb_box_t *) text); text->Scale = value; pcb_text_bbox(&PCB->Font, text); @@ -1513,7 +1513,7 @@ ctx->copy.DeltaY); /* this call clears the polygons */ - AddObjectToCreateUndoList(PCB_TYPE_ELEMENT, element, element, element); + pcb_undo_add_obj_to_create(PCB_TYPE_ELEMENT, element, element, element); if (PCB->ElementOn && (PCB_FRONT(element) || PCB->InvisibleObjectsOn)) { DrawElementName(element); DrawElementPackage(element); @@ -1625,7 +1625,7 @@ if (!ctx->remove.bulk) pcb_draw(); } - MoveObjectToRemoveUndoList(PCB_TYPE_ELEMENT, Element, Element, Element); + pcb_undo_move_obj_to_remove(PCB_TYPE_ELEMENT, Element, Element, Element); return NULL; } Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 5022) +++ trunk/src/obj_line.c (revision 5023) @@ -182,7 +182,7 @@ /* remove unnecessary points */ if (info.ans) { /* must do this BEFORE getting new line memory */ - MoveObjectToRemoveUndoList(PCB_TYPE_LINE, Layer, info.ans, info.ans); + pcb_undo_move_obj_to_remove(PCB_TYPE_LINE, Layer, info.ans, info.ans); X1 = info.test.Point1.X; X2 = info.test.Point2.X; Y1 = info.test.Point1.Y; @@ -285,7 +285,7 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Line)) return (NULL); if (value <= MAX_LINESIZE && value >= MIN_LINESIZE && value != Line->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_LINE, Layer, Line, Line); + pcb_undo_add_obj_to_size(PCB_TYPE_LINE, Layer, Line, Line); EraseLine(Line); pcb_r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); @@ -308,7 +308,7 @@ return (NULL); value = MIN(MAX_LINESIZE, MAX(value, PCB->Bloat * 2 + 2)); if (value != Line->Clearance) { - AddObjectToClearSizeUndoList(PCB_TYPE_LINE, Layer, Line, Line); + pcb_undo_add_obj_to_clear_size(PCB_TYPE_LINE, Layer, Line, Line); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); EraseLine(Line); pcb_r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); @@ -343,13 +343,13 @@ return (NULL); EraseLine(Line); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Line)) { - AddObjectToClearPolyUndoList(PCB_TYPE_LINE, Layer, Line, Line, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_LINE, Layer, Line, Line, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); } - AddObjectToFlagUndoList(PCB_TYPE_LINE, Layer, Line, Line); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, Layer, Line, Line); PCB_FLAG_TOGGLE(PCB_FLAG_CLEARLINE, Line); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Line)) { - AddObjectToClearPolyUndoList(PCB_TYPE_LINE, Layer, Line, Line, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_LINE, Layer, Line, Line, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); } DrawLine(Layer, Line); @@ -386,7 +386,7 @@ if (Line->Number) line->Number = pcb_strdup(Line->Number); DrawLine(Layer, line); - AddObjectToCreateUndoList(PCB_TYPE_LINE, Layer, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, Layer, line, line); return (line); } @@ -471,7 +471,7 @@ if ((via = pcb_via_new(PCB->Data, i->X, i->Y, conf_core.design.via_thickness, 2 * conf_core.design.clearance, PCB_FLAG_NO, conf_core.design.via_drilling_hole, NULL, pcb_no_flags())) != NULL) { - AddObjectToCreateUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_create(PCB_TYPE_VIA, via, via, via); DrawVia(via); } longjmp(i->env, 1); @@ -495,7 +495,7 @@ if (((long int) ctx->move.dst_layer == -1) || ctx->move.dst_layer == Layer) return (Line); - AddObjectToMoveToLayerUndoList(PCB_TYPE_LINE, Layer, Line, Line); + pcb_undo_add_obj_to_move_to_layer(PCB_TYPE_LINE, Layer, Line, Line); if (Layer->On) EraseLine(Line); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); @@ -602,7 +602,7 @@ if (!ctx->remove.bulk) pcb_draw(); } - MoveObjectToRemoveUndoList(PCB_TYPE_LINE, Layer, Line, Line); + pcb_undo_move_obj_to_remove(PCB_TYPE_LINE, Layer, Line, Line); return NULL; } @@ -680,7 +680,7 @@ return (NULL); X = Line->Point2.X; Y = Line->Point2.Y; - AddObjectToMoveUndoList(PCB_TYPE_LINE_POINT, Layer, Line, &Line->Point2, ctx->insert.x - X, ctx->insert.y - Y); + pcb_undo_add_obj_to_move(PCB_TYPE_LINE_POINT, Layer, Line, &Line->Point2, ctx->insert.x - X, ctx->insert.y - Y); EraseLine(Line); pcb_r_delete_entry(Layer->line_tree, (pcb_box_t *) Line); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, Layer, Line); @@ -694,7 +694,7 @@ * invalidate the line pointer */ if ((line = pcb_line_new_merge(Layer, ctx->insert.x, ctx->insert.y, X, Y, Line->Thickness, Line->Clearance, Line->Flags))) { - AddObjectToCreateUndoList(PCB_TYPE_LINE, Layer, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, Layer, line, line); DrawLine(Layer, line); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_LINE, Layer, line); /* creation call adds it to the rtree */ Index: trunk/src/obj_pad.c =================================================================== --- trunk/src/obj_pad.c (revision 5022) +++ trunk/src/obj_pad.c (revision 5023) @@ -145,7 +145,7 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Pad)) return (pcb_false); ErasePad(Pad); - AddObjectToFlagUndoList(PCB_TYPE_PAD, Pad, Pad, Pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, Pad, Pad, Pad); PCB_FLAG_TOGGLE(PCB_FLAG_NOPASTE, Pad); DrawPad(Pad); pcb_draw(); @@ -162,8 +162,8 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Pad)) return (NULL); if (value <= MAX_PADSIZE && value >= MIN_PADSIZE && value != Pad->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_PAD, Element, Pad, Pad); - AddObjectToMaskSizeUndoList(PCB_TYPE_PAD, Element, Pad, Pad); + pcb_undo_add_obj_to_size(PCB_TYPE_PAD, Element, Pad, Pad); + pcb_undo_add_obj_to_mask_size(PCB_TYPE_PAD, Element, Pad, Pad); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); ErasePad(Pad); pcb_r_delete_entry(PCB->Data->pad_tree, &Pad->BoundingBox); @@ -194,7 +194,7 @@ value = PCB->Bloat * 2 + 2; if (value == Pad->Clearance) return NULL; - AddObjectToClearSizeUndoList(PCB_TYPE_PAD, Element, Pad, Pad); + pcb_undo_add_obj_to_clear_size(PCB_TYPE_PAD, Element, Pad, Pad); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); ErasePad(Pad); pcb_r_delete_entry(PCB->Data->pad_tree, &Pad->BoundingBox); @@ -244,11 +244,11 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Pad)) return (NULL); ErasePad(Pad); - AddObjectToClearPolyUndoList(PCB_TYPE_PAD, Element, Pad, Pad, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_PAD, Element, Pad, Pad, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); - AddObjectToFlagUndoList(PCB_TYPE_PAD, Element, Pad, Pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, Element, Pad, Pad); PCB_FLAG_TOGGLE(PCB_FLAG_SQUARE, Pad); - AddObjectToClearPolyUndoList(PCB_TYPE_PAD, Element, Pad, Pad, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_PAD, Element, Pad, Pad, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PAD, Element, Pad); DrawPad(Pad); return (Pad); @@ -284,7 +284,7 @@ if (value == Pad->Mask && ctx->chgsize.absolute == 0) value = Pad->Thickness; if (value != Pad->Mask) { - AddObjectToMaskSizeUndoList(PCB_TYPE_PAD, Element, Pad, Pad); + pcb_undo_add_obj_to_mask_size(PCB_TYPE_PAD, Element, Pad, Pad); ErasePad(Pad); pcb_r_delete_entry(PCB->Data->pad_tree, &Pad->BoundingBox); Pad->Mask = value; Index: trunk/src/obj_pinvia.c =================================================================== --- trunk/src/obj_pinvia.c (revision 5022) +++ trunk/src/obj_pinvia.c (revision 5023) @@ -259,14 +259,14 @@ /* changes the thermal on a via */ void *ChangeViaThermal(pcb_opctx_t *ctx, pcb_pin_t *Via) { - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_VIA, Via, Via, Via, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); - AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, Via, Via, Via); if (!ctx->chgtherm.style) /* remove the thermals */ PCB_FLAG_THERM_CLEAR(INDEXOFCURRENT, Via); else PCB_FLAG_THERM_ASSIGN(INDEXOFCURRENT, ctx->chgtherm.style, Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_VIA, Via, Via, Via, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); DrawVia(Via); return Via; @@ -275,14 +275,14 @@ /* changes the thermal on a pin */ void *ChangePinThermal(pcb_opctx_t *ctx, pcb_element_t *element, pcb_pin_t *Pin) { - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, element, Pin, Pin, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_PIN, element, Pin, Pin, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, Pin, Pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, Pin, Pin); if (!ctx->chgtherm.style) /* remove the thermals */ PCB_FLAG_THERM_CLEAR(INDEXOFCURRENT, Pin); else PCB_FLAG_THERM_ASSIGN(INDEXOFCURRENT, ctx->chgtherm.style, Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, element, Pin, Pin, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_PIN, element, Pin, Pin, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); DrawPin(Pin); return Pin; @@ -297,12 +297,12 @@ return (NULL); if (!PCB_FLAG_TEST(PCB_FLAG_HOLE, Via) && value <= MAX_PINORVIASIZE && value >= MIN_PINORVIASIZE && value >= Via->DrillingHole + MIN_PINORVIACOPPER && value != Via->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_size(PCB_TYPE_VIA, Via, Via, Via); EraseVia(Via); pcb_r_delete_entry(PCB->Data->via_tree, (pcb_box_t *) Via); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Via, Via); if (Via->Mask) { - AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_mask_size(PCB_TYPE_VIA, Via, Via, Via); Via->Mask += value - Via->Thickness; } Via->Thickness = value; @@ -325,12 +325,12 @@ if (value <= MAX_PINORVIASIZE && value >= MIN_PINORVIAHOLE && (PCB_FLAG_TEST(PCB_FLAG_HOLE, Via) || value <= Via->Thickness - MIN_PINORVIACOPPER) && value != Via->DrillingHole) { - AddObjectTo2ndSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_2nd_size(PCB_TYPE_VIA, Via, Via, Via); EraseVia(Via); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); Via->DrillingHole = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, Via)) { - AddObjectToSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_size(PCB_TYPE_VIA, Via, Via, Via); Via->Thickness = value; } pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); @@ -350,12 +350,12 @@ if (value <= MAX_PINORVIASIZE && value >= MIN_PINORVIAHOLE && (PCB_FLAG_TEST(PCB_FLAG_HOLE, Pin) || value <= Pin->Thickness - MIN_PINORVIACOPPER) && value != Pin->DrillingHole) { - AddObjectTo2ndSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + pcb_undo_add_obj_to_2nd_size(PCB_TYPE_PIN, Element, Pin, Pin); ErasePin(Pin); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); Pin->DrillingHole = value; if (PCB_FLAG_TEST(PCB_FLAG_HOLE, Pin)) { - AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + pcb_undo_add_obj_to_size(PCB_TYPE_PIN, Element, Pin, Pin); Pin->Thickness = value; } pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); @@ -383,7 +383,7 @@ if (Via->Clearance == value) return NULL; pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); - AddObjectToClearSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_clear_size(PCB_TYPE_VIA, Via, Via, Via); EraseVia(Via); pcb_r_delete_entry(PCB->Data->via_tree, (pcb_box_t *) Via); Via->Clearance = value; @@ -405,8 +405,8 @@ return (NULL); if (!PCB_FLAG_TEST(PCB_FLAG_HOLE, Pin) && value <= MAX_PINORVIASIZE && value >= MIN_PINORVIASIZE && value >= Pin->DrillingHole + MIN_PINORVIACOPPER && value != Pin->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - AddObjectToMaskSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + pcb_undo_add_obj_to_size(PCB_TYPE_PIN, Element, Pin, Pin); + pcb_undo_add_obj_to_mask_size(PCB_TYPE_PIN, Element, Pin, Pin); ErasePin(Pin); pcb_r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); @@ -438,7 +438,7 @@ if (Pin->Clearance == value) return NULL; pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); - AddObjectToClearSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + pcb_undo_add_obj_to_clear_size(PCB_TYPE_PIN, Element, Pin, Pin); ErasePin(Pin); pcb_r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); Pin->Clearance = value; @@ -503,9 +503,9 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Via)) return (NULL); EraseVia(Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, NULL, Via, Via, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_VIA, NULL, Via, Via, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, NULL, Via); - AddObjectToFlagUndoList(PCB_TYPE_VIA, NULL, Via, Via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, NULL, Via, Via); PCB_FLAG_SQUARE_ASSIGN(ctx->chgsize.absolute, Via); if (ctx->chgsize.absolute == 0) PCB_FLAG_CLEAR(PCB_FLAG_SQUARE, Via); @@ -512,7 +512,7 @@ else PCB_FLAG_SET(PCB_FLAG_SQUARE, Via); pcb_pin_bbox(Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, NULL, Via, Via, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_VIA, NULL, Via, Via, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, NULL, Via); DrawVia(Via); return (Via); @@ -524,9 +524,9 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Pin)) return (NULL); ErasePin(Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); - AddObjectToFlagUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, Element, Pin, Pin); PCB_FLAG_SQUARE_ASSIGN(ctx->chgsize.absolute, Pin); if (ctx->chgsize.absolute == 0) PCB_FLAG_CLEAR(PCB_FLAG_SQUARE, Pin); @@ -533,7 +533,7 @@ else PCB_FLAG_SET(PCB_FLAG_SQUARE, Pin); pcb_pin_bbox(Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); DrawPin(Pin); return (Pin); @@ -563,11 +563,11 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Via)) return (NULL); EraseVia(Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_VIA, Via, Via, Via, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); - AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, Via, Via, Via); PCB_FLAG_TOGGLE(PCB_FLAG_OCTAGON, Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_VIA, Via, Via, Via, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); DrawVia(Via); return (Via); @@ -597,11 +597,11 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Pin)) return (NULL); ErasePin(Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); - AddObjectToFlagUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, Element, Pin, Pin); PCB_FLAG_TOGGLE(PCB_FLAG_OCTAGON, Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_PIN, Element, Pin); DrawPin(Pin); return (Pin); @@ -631,8 +631,8 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Via)) return (pcb_false); EraseVia(Via); - AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); - AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_mask_size(PCB_TYPE_VIA, Via, Via, Via); pcb_r_delete_entry(PCB->Data->via_tree, (pcb_box_t *) Via); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, Via, Via); PCB_FLAG_TOGGLE(PCB_FLAG_HOLE, Via); @@ -668,7 +668,7 @@ if (value == Pin->Mask && ctx->chgsize.absolute == 0) value = Pin->Thickness; if (value != Pin->Mask) { - AddObjectToMaskSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + pcb_undo_add_obj_to_mask_size(PCB_TYPE_PIN, Element, Pin, Pin); ErasePin(Pin); pcb_r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); Pin->Mask = value; @@ -687,7 +687,7 @@ value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Via->Mask + ctx->chgsize.delta; value = MAX(value, 0); if (value != Via->Mask) { - AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_add_obj_to_mask_size(PCB_TYPE_VIA, Via, Via, Via); EraseVia(Via); pcb_r_delete_entry(PCB->Data->via_tree, &Via->BoundingBox); Via->Mask = value; @@ -709,7 +709,7 @@ if (!via) return (via); DrawVia(via); - AddObjectToCreateUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_create(PCB_TYPE_VIA, via, via, via); return (via); } @@ -749,7 +749,7 @@ if (!ctx->remove.bulk) pcb_draw(); } - MoveObjectToRemoveUndoList(PCB_TYPE_VIA, Via, Via, Via); + pcb_undo_move_obj_to_remove(PCB_TYPE_VIA, Via, Via, Via); return NULL; } Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 5022) +++ trunk/src/obj_poly.c (revision 5023) @@ -285,8 +285,8 @@ { if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Polygon)) return (NULL); - AddObjectToClearPolyUndoList(PCB_TYPE_POLYGON, Layer, Polygon, Polygon, pcb_true); - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_POLYGON, Layer, Polygon, Polygon, pcb_true); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); PCB_FLAG_TOGGLE(PCB_FLAG_CLEARPOLY, Polygon); pcb_poly_init_clip(PCB->Data, Layer, Polygon); DrawPolygon(Layer, Polygon); @@ -326,7 +326,7 @@ Polygon->Points[ctx->insert.idx] = save; pcb_board_set_changed_flag(pcb_true); - AddObjectToInsertPointUndoList(PCB_TYPE_POLYGON_POINT, Layer, Polygon, &Polygon->Points[ctx->insert.idx]); + pcb_undo_add_obj_to_insert_point(PCB_TYPE_POLYGON_POINT, Layer, Polygon, &Polygon->Points[ctx->insert.idx]); pcb_poly_bbox(Polygon); pcb_r_insert_entry(Layer->polygon_tree, (pcb_box_t *) Polygon, 0); @@ -413,9 +413,9 @@ if (!PCB_FLAG_THERM_TEST(d->snum, pin) || !pcb_poly_is_point_in_p(pin->X, pin->Y, pin->Thickness + pin->Clearance + 2, d->polygon)) return R_DIR_NOT_FOUND; if (d->type == PCB_TYPE_PIN) - AddObjectToFlagUndoList(PCB_TYPE_PIN, pin->Element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, pin->Element, pin, pin); else - AddObjectToFlagUndoList(PCB_TYPE_VIA, pin, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, pin, pin, pin); PCB_FLAG_THERM_ASSIGN(d->dnum, PCB_FLAG_THERM_GET(d->snum, pin), pin); PCB_FLAG_THERM_CLEAR(d->snum, pin); return R_DIR_FOUND_CONTINUE; @@ -433,7 +433,7 @@ } if (((long int) ctx->move.dst_layer == -1) || (Layer == ctx->move.dst_layer)) return (Polygon); - AddObjectToMoveToLayerUndoList(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); + pcb_undo_add_obj_to_move_to_layer(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); if (Layer->On) ErasePolygon(Polygon); /* Move all of the thermals with the polygon */ @@ -509,7 +509,7 @@ if (!ctx->remove.bulk) pcb_draw(); } - MoveObjectToRemoveUndoList(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); + pcb_undo_move_obj_to_remove(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); return NULL; } @@ -541,7 +541,7 @@ } /* Copy the polygon to the undo list */ - AddObjectToRemoveContourUndoList(PCB_TYPE_POLYGON, Layer, Polygon); + pcb_undo_add_obj_to_remove_contour(PCB_TYPE_POLYGON, Layer, Polygon); contour_start = (contour == 0) ? 0 : Polygon->HoleIndex[contour - 1]; contour_end = (contour == Polygon->HoleIndexN) ? Polygon->PointN : Polygon->HoleIndex[contour]; @@ -588,7 +588,7 @@ ErasePolygon(Polygon); /* insert the polygon-point into the undo list */ - AddObjectToRemovePointUndoList(PCB_TYPE_POLYGON_POINT, Layer, Polygon, point_idx); + pcb_undo_add_obj_to_remove_point(PCB_TYPE_POLYGON_POINT, Layer, Polygon, point_idx); pcb_r_delete_entry(Layer->polygon_tree, (pcb_box_t *) Polygon); /* remove point from list, keep point order */ @@ -628,7 +628,7 @@ pcb_r_insert_entry(Layer->polygon_tree, (pcb_box_t *) polygon, 0); pcb_poly_init_clip(PCB->Data, Layer, polygon); DrawPolygon(Layer, polygon); - AddObjectToCreateUndoList(PCB_TYPE_POLYGON, Layer, polygon, polygon); + pcb_undo_add_obj_to_create(PCB_TYPE_POLYGON, Layer, polygon, polygon); return (polygon); } Index: trunk/src/obj_rat.c =================================================================== --- trunk/src/obj_rat.c (revision 5022) +++ trunk/src/obj_rat.c (revision 5023) @@ -156,16 +156,16 @@ ctx->insert.x, ctx->insert.y, conf_core.design.line_thickness, 2 * conf_core.design.clearance, Rat->Flags); if (!newone) return newone; - AddObjectToCreateUndoList(PCB_TYPE_LINE, CURRENT, newone, newone); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, CURRENT, newone, newone); EraseRat(Rat); DrawLine(CURRENT, newone); newone = pcb_line_new_merge(CURRENT, Rat->Point2.X, Rat->Point2.Y, ctx->insert.x, ctx->insert.y, conf_core.design.line_thickness, 2 * conf_core.design.clearance, Rat->Flags); if (newone) { - AddObjectToCreateUndoList(PCB_TYPE_LINE, CURRENT, newone, newone); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, CURRENT, newone, newone); DrawLine(CURRENT, newone); } - MoveObjectToRemoveUndoList(PCB_TYPE_RATLINE, Rat, Rat, Rat); + pcb_undo_move_obj_to_remove(PCB_TYPE_RATLINE, Rat, Rat, Rat); pcb_draw(); return (newone); } @@ -187,10 +187,10 @@ conf_set_editor(clear_line, 1); if (!newone) return (NULL); - AddObjectToCreateUndoList(PCB_TYPE_LINE, ctx->move.dst_layer, newone, newone); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, ctx->move.dst_layer, newone, newone); if (PCB->RatOn) EraseRat(Rat); - MoveObjectToRemoveUndoList(PCB_TYPE_RATLINE, Rat, Rat, Rat); + pcb_undo_move_obj_to_remove(PCB_TYPE_RATLINE, Rat, Rat, Rat); DrawLine(ctx->move.dst_layer, newone); pcb_draw(); return (newone); @@ -215,7 +215,7 @@ if (!ctx->remove.bulk) pcb_draw(); } - MoveObjectToRemoveUndoList(PCB_TYPE_RATLINE, Rat, Rat, Rat); + pcb_undo_move_obj_to_remove(PCB_TYPE_RATLINE, Rat, Rat, Rat); return NULL; } Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 5022) +++ trunk/src/obj_text.c (revision 5023) @@ -251,7 +251,7 @@ if (PCB_FLAG_TEST(PCB_FLAG_LOCK, Text)) return (NULL); if (value <= MAX_TEXTSCALE && value >= MIN_TEXTSCALE && value != Text->Scale) { - AddObjectToSizeUndoList(PCB_TYPE_TEXT, Layer, Text, Text); + pcb_undo_add_obj_to_size(PCB_TYPE_TEXT, Layer, Text, Text); EraseText(Layer, Text); pcb_r_delete_entry(Layer->text_tree, (pcb_box_t *) Text); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); @@ -293,13 +293,13 @@ return (NULL); EraseText(Layer, Text); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Text)) { - AddObjectToClearPolyUndoList(PCB_TYPE_TEXT, Layer, Text, Text, pcb_false); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_TEXT, Layer, Text, Text, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); } - AddObjectToFlagUndoList(PCB_TYPE_TEXT, Layer, Text, Text); + pcb_undo_add_obj_to_flag(PCB_TYPE_TEXT, Layer, Text, Text); PCB_FLAG_TOGGLE(PCB_FLAG_CLEARLINE, Text); if (PCB_FLAG_TEST(PCB_FLAG_CLEARLINE, Text)) { - AddObjectToClearPolyUndoList(PCB_TYPE_TEXT, Layer, Text, Text, pcb_true); + pcb_undo_add_obj_to_clear_poly(PCB_TYPE_TEXT, Layer, Text, Text, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_TEXT, Layer, Text); } DrawText(Layer, Text); @@ -330,7 +330,7 @@ text = pcb_text_new(Layer, &PCB->Font, Text->X + ctx->copy.DeltaX, Text->Y + ctx->copy.DeltaY, Text->Direction, Text->Scale, Text->TextString, pcb_flag_mask(Text->Flags, PCB_FLAG_FOUND)); DrawText(Layer, text); - AddObjectToCreateUndoList(PCB_TYPE_TEXT, Layer, text, text); + pcb_undo_add_obj_to_create(PCB_TYPE_TEXT, Layer, text, text); return (text); } @@ -384,7 +384,7 @@ return NULL; } if (ctx->move.dst_layer != layer) { - AddObjectToMoveToLayerUndoList(PCB_TYPE_TEXT, layer, text, text); + pcb_undo_add_obj_to_move_to_layer(PCB_TYPE_TEXT, layer, text, text); if (layer->On) EraseText(layer, text); text = MoveTextToLayerLowLevel(ctx, layer, text, ctx->move.dst_layer); @@ -417,7 +417,7 @@ if (!ctx->remove.bulk) pcb_draw(); } - MoveObjectToRemoveUndoList(PCB_TYPE_TEXT, Layer, Text, Text); + pcb_undo_move_obj_to_remove(PCB_TYPE_TEXT, Layer, Text, Text); return NULL; } Index: trunk/src/object_act.c =================================================================== --- trunk/src/object_act.c (revision 5022) +++ trunk/src/object_act.c (revision 5023) @@ -278,7 +278,7 @@ pcb_element_move(PCB->Data, element, dx, dy); /* and add to the undo list so we can undo this operation */ - AddObjectToMoveUndoList(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); /* keep track of how tall this row is */ minx += element->BoundingBox.X2 - element->BoundingBox.X1 + GAP; @@ -799,7 +799,7 @@ PCB_PASTEBUFFER->Y = 0; pcb_undo_save_serial(); pcb_erase_obj(PCB_TYPE_ELEMENT, ptr1, ptr1); - MoveObjectToRemoveUndoList(PCB_TYPE_ELEMENT, ptr1, ptr2, ptr3); + pcb_undo_move_obj_to_remove(PCB_TYPE_ELEMENT, ptr1, ptr2, ptr3); pcb_undo_restore_serial(); pcb_buffer_copy_to_layout(0, 0); pcb_buffer_set_number(Note.Buffer); Index: trunk/src/polygon.c =================================================================== --- trunk/src/polygon.c (revision 5022) +++ trunk/src/polygon.c (revision 5023) @@ -1356,7 +1356,7 @@ addedLines = 0; /* add to undo list */ - AddObjectToCreateUndoList(PCB_TYPE_POLYGON, CURRENT, polygon, polygon); + pcb_undo_add_obj_to_create(PCB_TYPE_POLYGON, CURRENT, polygon, polygon); pcb_undo_inc_serial(); } @@ -1728,7 +1728,7 @@ newone->BoundingBox.X2 = p->contours->xmax + 1; newone->BoundingBox.Y1 = p->contours->ymin; newone->BoundingBox.Y2 = p->contours->ymax + 1; - AddObjectToCreateUndoList(PCB_TYPE_POLYGON, layer, newone, newone); + pcb_undo_add_obj_to_create(PCB_TYPE_POLYGON, layer, newone, newone); newone->Clipped = p; p = p->f; /* go to next pline */ newone->Clipped->b = newone->Clipped->f = newone->Clipped; /* unlink from others */ @@ -1837,7 +1837,7 @@ DrawPolygon(Layer, Polygon); /* add to undo list */ - AddObjectToCreateUndoList(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); + pcb_undo_add_obj_to_create(PCB_TYPE_POLYGON, Layer, Polygon, Polygon); } while ((pa = pa->f) != Input); Index: trunk/src/rats.c =================================================================== --- trunk/src/rats.c (revision 5022) +++ trunk/src/rats.c (revision 5023) @@ -615,7 +615,7 @@ firstpoint->group, secondpoint->group, conf_core.appearance.rat_thickness, pcb_no_flags())) != NULL) { if (distance == 0) PCB_FLAG_SET(PCB_FLAG_VIA, line); - AddObjectToCreateUndoList(PCB_TYPE_RATLINE, line, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_RATLINE, line, line, line); DrawRat(line); changed = pcb_true; } Index: trunk/src/rats_act.c =================================================================== --- trunk/src/rats_act.c (revision 5022) +++ trunk/src/rats_act.c (revision 5023) @@ -102,7 +102,7 @@ } END_LOOP; if (shorty) { - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, shorty, shorty, shorty); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, shorty, shorty, shorty); PCB_FLAG_SET(PCB_FLAG_SELECTED, shorty); DrawRat(shorty); pcb_draw(); Index: trunk/src/rotate.c =================================================================== --- trunk/src/rotate.c (revision 5022) +++ trunk/src/rotate.c (revision 5023) @@ -96,7 +96,7 @@ while (Crosshair.AttachedObject.RubberbandN) { changed = pcb_true; PCB_FLAG_CLEAR(PCB_FLAG_RUBBEREND, ptr->Line); - AddObjectToRotateUndoList(PCB_TYPE_LINE_POINT, ptr->Layer, ptr->Line, ptr->MovedPoint, ctx.rotate.center_x, ctx.rotate.center_y, Steps); + pcb_undo_add_obj_to_rotate(PCB_TYPE_LINE_POINT, ptr->Layer, ptr->Line, ptr->MovedPoint, ctx.rotate.center_x, ctx.rotate.center_y, Steps); EraseLine(ptr->Line); if (ptr->Layer) { pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_LINE, ptr->Layer, ptr->Line); @@ -118,7 +118,7 @@ Crosshair.AttachedObject.RubberbandN--; ptr++; } - AddObjectToRotateUndoList(Type, Ptr1, Ptr2, Ptr3, ctx.rotate.center_x, ctx.rotate.center_y, ctx.rotate.number); + pcb_undo_add_obj_to_rotate(Type, Ptr1, Ptr2, Ptr3, ctx.rotate.center_x, ctx.rotate.center_y, ctx.rotate.number); ptr2 = pcb_object_operation(&RotateFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3); changed |= (ptr2 != NULL); if (changed) { Index: trunk/src/select.c =================================================================== --- trunk/src/select.c (revision 5022) +++ trunk/src/select.c (revision 5023) @@ -58,23 +58,23 @@ /* select all pins and names of the element */ PCB_PIN_LOOP(element); { - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_CHANGE(how, PCB_FLAG_SELECTED, pin); } END_LOOP; PCB_PAD_LOOP(element); { - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_CHANGE(how, PCB_FLAG_SELECTED, pad); } END_LOOP; PCB_ELEMENT_PCB_TEXT_LOOP(element); { - AddObjectToFlagUndoList(PCB_TYPE_ELEMENT_NAME, element, text, text); + pcb_undo_add_obj_to_flag(PCB_TYPE_ELEMENT_NAME, element, text, text); PCB_FLAG_CHANGE(how, PCB_FLAG_SELECTED, text); } END_LOOP; - AddObjectToFlagUndoList(PCB_TYPE_ELEMENT, element, element, element); + pcb_undo_add_obj_to_flag(PCB_TYPE_ELEMENT, element, element, element); PCB_FLAG_CHANGE(how, PCB_FLAG_SELECTED, element); if (redraw) { @@ -93,7 +93,7 @@ /* select all names of the element */ PCB_ELEMENT_PCB_TEXT_LOOP(element); { - AddObjectToFlagUndoList(PCB_TYPE_ELEMENT_NAME, element, text, text); + pcb_undo_add_obj_to_flag(PCB_TYPE_ELEMENT_NAME, element, text, text); PCB_FLAG_CHANGE(how, PCB_FLAG_SELECTED, text); } END_LOOP; @@ -120,7 +120,7 @@ return (pcb_false); switch (type) { case PCB_TYPE_VIA: - AddObjectToFlagUndoList(PCB_TYPE_VIA, ptr1, ptr1, ptr1); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, ptr1, ptr1, ptr1); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, (pcb_pin_t *) ptr1); DrawVia((pcb_pin_t *) ptr1); break; @@ -130,7 +130,7 @@ pcb_line_t *line = (pcb_line_t *) ptr2; layer = (pcb_layer_t *) ptr1; - AddObjectToFlagUndoList(PCB_TYPE_LINE, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, ptr1, ptr2, ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, line); DrawLine(layer, line); break; @@ -140,7 +140,7 @@ { pcb_rat_t *rat = (pcb_rat_t *) ptr2; - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, ptr1, ptr1, ptr1); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, ptr1, ptr1, ptr1); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, rat); DrawRat(rat); break; @@ -151,7 +151,7 @@ pcb_arc_t *arc = (pcb_arc_t *) ptr2; layer = (pcb_layer_t *) ptr1; - AddObjectToFlagUndoList(PCB_TYPE_ARC, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, ptr1, ptr2, ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, arc); DrawArc(layer, arc); break; @@ -162,7 +162,7 @@ pcb_text_t *text = (pcb_text_t *) ptr2; layer = (pcb_layer_t *) ptr1; - AddObjectToFlagUndoList(PCB_TYPE_TEXT, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(PCB_TYPE_TEXT, ptr1, ptr2, ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, text); DrawText(layer, text); break; @@ -173,7 +173,7 @@ pcb_polygon_t *poly = (pcb_polygon_t *) ptr2; layer = (pcb_layer_t *) ptr1; - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, ptr1, ptr2, ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, poly); DrawPolygon(layer, poly); /* changing memory order no longer effects draw order */ @@ -181,13 +181,13 @@ } case PCB_TYPE_PIN: - AddObjectToFlagUndoList(PCB_TYPE_PIN, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, ptr1, ptr2, ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, (pcb_pin_t *) ptr2); DrawPin((pcb_pin_t *) ptr2); break; case PCB_TYPE_PAD: - AddObjectToFlagUndoList(PCB_TYPE_PAD, ptr1, ptr2, ptr2); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, ptr1, ptr2, ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, (pcb_pad_t *) ptr2); DrawPad((pcb_pad_t *) ptr2); break; @@ -264,7 +264,7 @@ #define append(undo_type, p1, obj) \ do { \ if (len == NULL) { \ - AddObjectToFlagUndoList (undo_type, p1, obj, obj); \ + pcb_undo_add_obj_to_flag(undo_type, p1, obj, obj); \ PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, obj); \ } \ else { \ @@ -566,7 +566,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, line)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_LINE, layer, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, layer, line, line); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, line); } F->Line(ctx, layer, line); @@ -581,7 +581,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, arc)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_ARC, layer, arc, arc); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, layer, arc, arc); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, arc); } F->Arc(ctx, layer, arc); @@ -596,7 +596,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, text) && pcb_text_is_visible(PCB, layer, text)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_TEXT, layer, text, text); + pcb_undo_add_obj_to_flag(PCB_TYPE_TEXT, layer, text, text); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, text); } F->Text(ctx, layer, text); @@ -611,7 +611,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, polygon)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, layer, polygon, polygon); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, layer, polygon, polygon); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, polygon); } F->Polygon(ctx, layer, polygon); @@ -626,7 +626,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, element)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_ELEMENT, element, element, element); + pcb_undo_add_obj_to_flag(PCB_TYPE_ELEMENT, element, element, element); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, element); } F->Element(ctx, element); @@ -639,7 +639,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, &ELEMENT_TEXT(PCB, element))) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_ELEMENT_NAME, element, &ELEMENT_TEXT(PCB, element), &ELEMENT_TEXT(PCB, element)); + pcb_undo_add_obj_to_flag(PCB_TYPE_ELEMENT_NAME, element, &ELEMENT_TEXT(PCB, element), &ELEMENT_TEXT(PCB, element)); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, &ELEMENT_TEXT(PCB, element)); } F->ElementName(ctx, element); @@ -655,7 +655,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, pin)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, pin); } F->Pin(ctx, element, pin); @@ -673,7 +673,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, pad)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, pad); } F->Pad(ctx, element, pad); @@ -690,7 +690,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, via)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, via, via, via); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, via); } F->Via(ctx, via); @@ -704,7 +704,7 @@ { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, line)) { if (Reset) { - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, line, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, line, line, line); PCB_FLAG_CLEAR(PCB_FLAG_SELECTED, line); } F->Rat(ctx, line); @@ -732,7 +732,7 @@ PCB_RAT_LOOP(PCB->Data); { if (PCB_FLAG_TEST(PCB_FLAG_FOUND, line)) { - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, line, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, line, line, line); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, line); DrawRat(line); changed = pcb_true; @@ -743,7 +743,7 @@ PCB_LINE_VISIBLE_LOOP(PCB->Data); { if (PCB_FLAG_TEST(PCB_FLAG_FOUND, line) && !PCB_FLAG_TEST(PCB_FLAG_LOCK, line)) { - AddObjectToFlagUndoList(PCB_TYPE_LINE, layer, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, layer, line, line); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, line); DrawLine(layer, line); changed = pcb_true; @@ -753,7 +753,7 @@ PCB_ARC_VISIBLE_LOOP(PCB->Data); { if (PCB_FLAG_TEST(PCB_FLAG_FOUND, arc) && !PCB_FLAG_TEST(PCB_FLAG_LOCK, arc)) { - AddObjectToFlagUndoList(PCB_TYPE_ARC, layer, arc, arc); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, layer, arc, arc); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, arc); DrawArc(layer, arc); changed = pcb_true; @@ -763,7 +763,7 @@ PCB_POLY_VISIBLE_LOOP(PCB->Data); { if (PCB_FLAG_TEST(PCB_FLAG_FOUND, polygon) && !PCB_FLAG_TEST(PCB_FLAG_LOCK, polygon)) { - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, layer, polygon, polygon); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, layer, polygon, polygon); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, polygon); DrawPolygon(layer, polygon); changed = pcb_true; @@ -775,7 +775,7 @@ PCB_PIN_ALL_LOOP(PCB->Data); { if (!PCB_FLAG_TEST(PCB_FLAG_LOCK, element) && PCB_FLAG_TEST(PCB_FLAG_FOUND, pin)) { - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, pin); DrawPin(pin); changed = pcb_true; @@ -785,7 +785,7 @@ PCB_PAD_ALL_LOOP(PCB->Data); { if (!PCB_FLAG_TEST(PCB_FLAG_LOCK, element) && PCB_FLAG_TEST(PCB_FLAG_FOUND, pad)) { - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, pad); DrawPad(pad); changed = pcb_true; @@ -798,7 +798,7 @@ PCB_VIA_LOOP(PCB->Data); { if (PCB_FLAG_TEST(PCB_FLAG_FOUND, via) && !PCB_FLAG_TEST(PCB_FLAG_LOCK, via)) { - AddObjectToFlagUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, via, via, via); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, via); DrawVia(via); changed = pcb_true; @@ -892,7 +892,7 @@ && pcb_text_is_visible(PCB, layer, text) && text->TextString && REGEXEC(text->TextString) && PCB_FLAG_TEST(PCB_FLAG_SELECTED, text) != Flag) { - AddObjectToFlagUndoList(PCB_TYPE_TEXT, layer, text, text); + pcb_undo_add_obj_to_flag(PCB_TYPE_TEXT, layer, text, text); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, text); DrawText(layer, text); changed = pcb_true; @@ -908,23 +908,23 @@ && PCB_FLAG_TEST(PCB_FLAG_SELECTED, element) != Flag) { const char* name = ELEMENT_NAME(PCB, element); if (name && REGEXEC(name)) { - AddObjectToFlagUndoList(PCB_TYPE_ELEMENT, element, element, element); + pcb_undo_add_obj_to_flag(PCB_TYPE_ELEMENT, element, element, element); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, element); PCB_PIN_LOOP(element); { - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, pin); } END_LOOP; PCB_PAD_LOOP(element); { - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, pad); } END_LOOP; PCB_ELEMENT_PCB_TEXT_LOOP(element); { - AddObjectToFlagUndoList(PCB_TYPE_ELEMENT_NAME, element, text, text); + pcb_undo_add_obj_to_flag(PCB_TYPE_ELEMENT_NAME, element, text, text); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, text); } END_LOOP; @@ -941,7 +941,7 @@ if (!PCB_FLAG_TEST(PCB_FLAG_LOCK, element) && pin->Name && REGEXEC(pin->Name) && PCB_FLAG_TEST(PCB_FLAG_SELECTED, pin) != Flag) { - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, pin); DrawPin(pin); changed = pcb_true; @@ -955,7 +955,7 @@ && ((PCB_FLAG_TEST(PCB_FLAG_ONSOLDER, pad) != 0) == SWAP_IDENT || PCB->InvisibleObjectsOn) && PCB_FLAG_TEST(PCB_FLAG_SELECTED, pad) != Flag) if (pad->Name && REGEXEC(pad->Name)) { - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, pad); DrawPad(pad); changed = pcb_true; @@ -967,7 +967,7 @@ { if (!PCB_FLAG_TEST(PCB_FLAG_LOCK, via) && via->Name && REGEXEC(via->Name) && PCB_FLAG_TEST(PCB_FLAG_SELECTED, via) != Flag) { - AddObjectToFlagUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, via, via, via); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, Flag, via); DrawVia(via); changed = pcb_true; Index: trunk/src/undo.c =================================================================== --- trunk/src/undo.c (revision 5022) +++ trunk/src/undo.c (revision 5023) @@ -1179,7 +1179,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of clearpoly objects */ -void AddObjectToClearPolyUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_bool clear) +void pcb_undo_add_obj_to_clear_poly(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_bool clear) { UndoListTypePtr undo; @@ -1193,7 +1193,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of mirrored objects */ -void AddObjectToMirrorUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_coord_t yoff) +void pcb_undo_add_obj_to_mirror(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_coord_t yoff) { UndoListTypePtr undo; @@ -1206,7 +1206,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of rotated objects */ -void AddObjectToRotateUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_coord_t CenterX, pcb_coord_t CenterY, pcb_uint8_t Steps) +void pcb_undo_add_obj_to_rotate(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_coord_t CenterX, pcb_coord_t CenterY, pcb_uint8_t Steps) { UndoListTypePtr undo; @@ -1222,7 +1222,7 @@ * adds an object to the list of removed objects and removes it from * the current PCB */ -void MoveObjectToRemoveUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3) +void pcb_undo_move_obj_to_remove(int Type, void *Ptr1, void *Ptr2, void *Ptr3) { if (Locked) return; @@ -1237,7 +1237,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of removed polygon/... points */ -void AddObjectToRemovePointUndoList(int Type, void *Ptr1, void *Ptr2, pcb_cardinal_t index) +void pcb_undo_add_obj_to_remove_point(int Type, void *Ptr1, void *Ptr2, pcb_cardinal_t index) { UndoListTypePtr undo; pcb_polygon_t *polygon = (pcb_polygon_t *) Ptr2; @@ -1276,7 +1276,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of inserted polygon/... points */ -void AddObjectToInsertPointUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3) +void pcb_undo_add_obj_to_insert_point(int Type, void *Ptr1, void *Ptr2, void *Ptr3) { if (!Locked) GetUndoSlot(UNDO_INSERT_POINT, PCB_OBJECT_ID(Ptr3), Type); @@ -1302,7 +1302,7 @@ * adds an object to the list of removed contours * (Actually just takes a copy of the whole polygon to restore) */ -void AddObjectToRemoveContourUndoList(int Type, pcb_layer_t * Layer, pcb_polygon_t * Polygon) +void pcb_undo_add_obj_to_remove_contour(int Type, pcb_layer_t * Layer, pcb_polygon_t * Polygon) { CopyObjectToUndoList(UNDO_REMOVE_CONTOUR, Type, Layer, Polygon, NULL); } @@ -1311,7 +1311,7 @@ * adds an object to the list of insert contours * (Actually just takes a copy of the whole polygon to restore) */ -void AddObjectToInsertContourUndoList(int Type, pcb_layer_t * Layer, pcb_polygon_t * Polygon) +void pcb_undo_add_obj_to_insert_contour(int Type, pcb_layer_t * Layer, pcb_polygon_t * Polygon) { CopyObjectToUndoList(UNDO_INSERT_CONTOUR, Type, Layer, Polygon, NULL); } @@ -1319,7 +1319,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of moved objects */ -void AddObjectToMoveUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_coord_t DX, pcb_coord_t DY) +void pcb_undo_add_obj_to_move(int Type, void *Ptr1, void *Ptr2, void *Ptr3, pcb_coord_t DX, pcb_coord_t DY) { UndoListTypePtr undo; @@ -1333,7 +1333,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of objects with changed names */ -void AddObjectToChangeNameUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3, char *OldName) +void pcb_undo_add_obj_to_change_name(int Type, void *Ptr1, void *Ptr2, void *Ptr3, char *OldName) { UndoListTypePtr undo; @@ -1346,7 +1346,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of objects with changed pinnums */ -void AddObjectToChangePinnumUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3, char *OldName) +void pcb_undo_add_obj_to_change_pinnum(int Type, void *Ptr1, void *Ptr2, void *Ptr3, char *OldName) { UndoListTypePtr undo; @@ -1359,7 +1359,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of objects moved to another layer */ -void AddObjectToMoveToLayerUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3) +void pcb_undo_add_obj_to_move_to_layer(int Type, void *Ptr1, void *Ptr2, void *Ptr3) { UndoListTypePtr undo; @@ -1372,7 +1372,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of created objects */ -void AddObjectToCreateUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3) +void pcb_undo_add_obj_to_create(int Type, void *Ptr1, void *Ptr2, void *Ptr3) { if (!Locked) GetUndoSlot(UNDO_CREATE, PCB_OBJECT_ID(Ptr3), Type); @@ -1382,7 +1382,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of objects with flags changed */ -void AddObjectToFlagUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3) +void pcb_undo_add_obj_to_flag(int Type, void *Ptr1, void *Ptr2, void *Ptr3) { UndoListTypePtr undo; @@ -1395,7 +1395,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of objects with Size changes */ -void AddObjectToSizeUndoList(int Type, void *ptr1, void *ptr2, void *ptr3) +void pcb_undo_add_obj_to_size(int Type, void *ptr1, void *ptr2, void *ptr3) { UndoListTypePtr undo; @@ -1428,7 +1428,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of objects with Size changes */ -void AddObjectToClearSizeUndoList(int Type, void *ptr1, void *ptr2, void *ptr3) +void pcb_undo_add_obj_to_clear_size(int Type, void *ptr1, void *ptr2, void *ptr3) { UndoListTypePtr undo; @@ -1455,7 +1455,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of objects with Size changes */ -void AddObjectToMaskSizeUndoList(int Type, void *ptr1, void *ptr2, void *ptr3) +void pcb_undo_add_obj_to_mask_size(int Type, void *ptr1, void *ptr2, void *ptr3) { UndoListTypePtr undo; @@ -1476,7 +1476,7 @@ /* --------------------------------------------------------------------------- * adds an object to the list of objects with 2ndSize changes */ -void AddObjectTo2ndSizeUndoList(int Type, void *ptr1, void *ptr2, void *ptr3) +void pcb_undo_add_obj_to_2nd_size(int Type, void *ptr1, void *ptr2, void *ptr3) { UndoListTypePtr undo; @@ -1491,7 +1491,7 @@ * adds an object to the list of changed angles. Note that you must * call this before changing the angles, passing the new start/delta. */ -void AddObjectToChangeAnglesUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3) +void pcb_undo_add_obj_to_change_angles(int Type, void *Ptr1, void *Ptr2, void *Ptr3) { UndoListTypePtr undo; pcb_arc_t *a = (pcb_arc_t *) Ptr3; @@ -1507,7 +1507,7 @@ * adds an object to the list of changed radii. Note that you must * call this before changing the radii, passing the new width/height. */ -void AddObjectToChangeRadiiUndoList(int Type, void *Ptr1, void *Ptr2, void *Ptr3) +void pcb_undo_add_obj_to_change_radii(int Type, void *Ptr1, void *Ptr2, void *Ptr3) { UndoListTypePtr undo; pcb_arc_t *a = (pcb_arc_t *) Ptr3; @@ -1522,7 +1522,7 @@ /* --------------------------------------------------------------------------- * adds a layer change (new, delete, move) to the undo list. */ -void AddLayerChangeToUndoList(int old_index, int new_index) +void pcb_undo_add_layer_change(int old_index, int new_index) { UndoListTypePtr undo; @@ -1536,7 +1536,7 @@ /* --------------------------------------------------------------------------- * adds a netlist change to the undo list */ -void AddNetlistLibToUndoList(pcb_lib_t *lib) +void pcb_undo_add_netlist_lib(pcb_lib_t *lib) { UndoListTypePtr undo; unsigned int i, j; Index: trunk/src/undo.h =================================================================== --- trunk/src/undo.h (revision 5022) +++ trunk/src/undo.h (revision 5023) @@ -43,28 +43,28 @@ void pcb_undo_restore_serial(void); void pcb_undo_clear_list(pcb_bool); -void MoveObjectToRemoveUndoList(int, void *, void *, void *); -void AddObjectToRemovePointUndoList(int, void *, void *, pcb_cardinal_t); -void AddObjectToInsertPointUndoList(int, void *, void *, void *); -void AddObjectToRemoveContourUndoList(int, pcb_layer_t *, pcb_polygon_t *); -void AddObjectToInsertContourUndoList(int, pcb_layer_t *, pcb_polygon_t *); -void AddObjectToMoveUndoList(int, void *, void *, void *, pcb_coord_t, pcb_coord_t); -void AddObjectToChangeNameUndoList(int, void *, void *, void *, char *); -void AddObjectToChangePinnumUndoList(int, void *, void *, void *, char *); -void AddObjectToRotateUndoList(int, void *, void *, void *, pcb_coord_t, pcb_coord_t, pcb_uint8_t); -void AddObjectToCreateUndoList(int, void *, void *, void *); -void AddObjectToMirrorUndoList(int, void *, void *, void *, pcb_coord_t); -void AddObjectToMoveToLayerUndoList(int, void *, void *, void *); -void AddObjectToFlagUndoList(int, void *, void *, void *); -void AddObjectToSizeUndoList(int, void *, void *, void *); -void AddObjectTo2ndSizeUndoList(int, void *, void *, void *); -void AddObjectToClearSizeUndoList(int, void *, void *, void *); -void AddObjectToMaskSizeUndoList(int, void *, void *, void *); -void AddObjectToChangeAnglesUndoList(int, void *, void *, void *); -void AddObjectToChangeRadiiUndoList(int, void *, void *, void *); -void AddObjectToClearPolyUndoList(int, void *, void *, void *, pcb_bool); -void AddLayerChangeToUndoList(int, int); -void AddNetlistLibToUndoList(pcb_lib_t *); +void pcb_undo_move_obj_to_remove(int, void *, void *, void *); +void pcb_undo_add_obj_to_remove_point(int, void *, void *, pcb_cardinal_t); +void pcb_undo_add_obj_to_insert_point(int, void *, void *, void *); +void pcb_undo_add_obj_to_remove_contour(int, pcb_layer_t *, pcb_polygon_t *); +void pcb_undo_add_obj_to_insert_contour(int, pcb_layer_t *, pcb_polygon_t *); +void pcb_undo_add_obj_to_move(int, void *, void *, void *, pcb_coord_t, pcb_coord_t); +void pcb_undo_add_obj_to_change_name(int, void *, void *, void *, char *); +void pcb_undo_add_obj_to_change_pinnum(int, void *, void *, void *, char *); +void pcb_undo_add_obj_to_rotate(int, void *, void *, void *, pcb_coord_t, pcb_coord_t, pcb_uint8_t); +void pcb_undo_add_obj_to_create(int, void *, void *, void *); +void pcb_undo_add_obj_to_mirror(int, void *, void *, void *, pcb_coord_t); +void pcb_undo_add_obj_to_move_to_layer(int, void *, void *, void *); +void pcb_undo_add_obj_to_flag(int, void *, void *, void *); +void pcb_undo_add_obj_to_size(int, void *, void *, void *); +void pcb_undo_add_obj_to_2nd_size(int, void *, void *, void *); +void pcb_undo_add_obj_to_clear_size(int, void *, void *, void *); +void pcb_undo_add_obj_to_mask_size(int, void *, void *, void *); +void pcb_undo_add_obj_to_change_angles(int, void *, void *, void *); +void pcb_undo_add_obj_to_change_radii(int, void *, void *, void *); +void pcb_undo_add_obj_to_clear_poly(int, void *, void *, void *, pcb_bool); +void pcb_undo_add_layer_change(int, int); +void pcb_undo_add_netlist_lib(pcb_lib_t *); void pcb_undo_lock(void); void pcb_undo_unlock(void); Index: trunk/src_plugins/autocrop/autocrop.c =================================================================== --- trunk/src_plugins/autocrop/autocrop.c (revision 5022) +++ trunk/src_plugins/autocrop/autocrop.c (revision 5023) @@ -139,31 +139,31 @@ PCB_ELEMENT_LOOP(PCB->Data); { pcb_element_move(PCB->Data, element, dx, dy); - AddObjectToMoveUndoList(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); } END_LOOP; PCB_VIA_LOOP(PCB->Data); { MyMoveViaLowLevel(PCB->Data, via, dx, dy); - AddObjectToMoveUndoList(PCB_TYPE_VIA, NULL, NULL, via, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_VIA, NULL, NULL, via, dx, dy); } END_LOOP; PCB_LINE_ALL_LOOP(PCB->Data); { MyMoveLineLowLevel(PCB->Data, layer, line, dx, dy); - AddObjectToMoveUndoList(PCB_TYPE_LINE, NULL, NULL, line, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_LINE, NULL, NULL, line, dx, dy); } ENDALL_LOOP; PCB_ARC_ALL_LOOP(PCB->Data); { MyMoveArcLowLevel(PCB->Data, layer, arc, dx, dy); - AddObjectToMoveUndoList(PCB_TYPE_ARC, NULL, NULL, arc, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_ARC, NULL, NULL, arc, dx, dy); } ENDALL_LOOP; PCB_TEXT_ALL_LOOP(PCB->Data); { MyMoveTextLowLevel(layer, text, dx, dy); - AddObjectToMoveUndoList(PCB_TYPE_TEXT, NULL, NULL, text, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_TEXT, NULL, NULL, text, dx, dy); } ENDALL_LOOP; PCB_POLY_ALL_LOOP(PCB->Data); @@ -174,7 +174,7 @@ * XXX tree activity. */ Mypcb_poly_move(PCB->Data, layer, polygon, dx, dy); - AddObjectToMoveUndoList(PCB_TYPE_POLYGON, NULL, NULL, polygon, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_POLYGON, NULL, NULL, polygon, dx, dy); } ENDALL_LOOP; } Index: trunk/src_plugins/autoroute/autoroute.c =================================================================== --- trunk/src_plugins/autoroute/autoroute.c (revision 5022) +++ trunk/src_plugins/autoroute/autoroute.c (revision 5023) @@ -1339,16 +1339,16 @@ if (b.Y1 == b.Y2 || b.X1 == b.X2) thickness = 5; line = pcb_line_new(LAYER_PTR(component_silk_layer), b.X1, b.Y1, b.X2, b.Y1, thickness, 0, pcb_flag_make(0)); - AddObjectToCreateUndoList(PCB_TYPE_LINE, LAYER_PTR(component_silk_layer), line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, LAYER_PTR(component_silk_layer), line, line); if (b.Y1 != b.Y2) { line = pcb_line_new(LAYER_PTR(component_silk_layer), b.X1, b.Y2, b.X2, b.Y2, thickness, 0, pcb_flag_make(0)); - AddObjectToCreateUndoList(PCB_TYPE_LINE, LAYER_PTR(component_silk_layer), line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, LAYER_PTR(component_silk_layer), line, line); } line = pcb_line_new(LAYER_PTR(component_silk_layer), b.X1, b.Y1, b.X1, b.Y2, thickness, 0, pcb_flag_make(0)); - AddObjectToCreateUndoList(PCB_TYPE_LINE, LAYER_PTR(component_silk_layer), line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, LAYER_PTR(component_silk_layer), line, line); if (b.X1 != b.X2) { line = pcb_line_new(LAYER_PTR(component_silk_layer), b.X2, b.Y1, b.X2, b.Y2, thickness, 0, pcb_flag_make(0)); - AddObjectToCreateUndoList(PCB_TYPE_LINE, LAYER_PTR(component_silk_layer), line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, LAYER_PTR(component_silk_layer), line, line); } #endif } @@ -4474,7 +4474,7 @@ p->style->Thick, p->style->Clearance * 2, pcb_flag_make(PCB_FLAG_AUTO | (conf_core.editor.clear_line ? PCB_FLAG_CLEARLINE : 0))); if (p->parent.line) { - AddObjectToCreateUndoList(PCB_TYPE_LINE, layer, p->parent.line, p->parent.line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, layer, p->parent.line, p->parent.line); changed = pcb_true; } } @@ -4493,7 +4493,7 @@ pp->style->Diameter, 2 * pp->style->Clearance, 0, pp->style->Hole, NULL, pcb_flag_make(PCB_FLAG_AUTO)); assert(pp->parent.via); if (pp->parent.via) { - AddObjectToCreateUndoList(PCB_TYPE_VIA, pp->parent.via, pp->parent.via, pp->parent.via); + pcb_undo_add_obj_to_create(PCB_TYPE_VIA, pp->parent.via, pp->parent.via, pp->parent.via); changed = pcb_true; } } @@ -4518,11 +4518,11 @@ /* thermals are alread a single point search, no need to shrink */ int type = FindPin(&p->box, &pin); if (pin) { - AddObjectToClearPolyUndoList(type, pin->Element ? pin->Element : pin, pin, pin, pcb_false); + pcb_undo_add_obj_to_clear_poly(type, pin->Element ? pin->Element : pin, pin, pin, pcb_false); pcb_poly_restore_to_poly(PCB->Data, PCB_TYPE_VIA, LAYER_PTR(p->layer), pin); - AddObjectToFlagUndoList(type, pin->Element ? pin->Element : pin, pin, pin); + pcb_undo_add_obj_to_flag(type, pin->Element ? pin->Element : pin, pin, pin); PCB_FLAG_THERM_ASSIGN(p->layer, PCB->ThermStyle, pin); - AddObjectToClearPolyUndoList(type, pin->Element ? pin->Element : pin, pin, pin, pcb_true); + pcb_undo_add_obj_to_clear_poly(type, pin->Element ? pin->Element : pin, pin, pin, pcb_true); pcb_poly_clear_from_poly(PCB->Data, PCB_TYPE_VIA, LAYER_PTR(p->layer), pin); changed = pcb_true; } @@ -4645,7 +4645,7 @@ b = FindRouteBoxOnLayerGroup(rd, line->Point2.X, line->Point2.Y, line->group2); if (!a || !b) { #ifdef DEBUG_STALE_RATS - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, line, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, line, line, line); PCB_FLAG_ASSIGN(PCB_FLAG_SELECTED, pcb_true, line); DrawRat(line, 0); #endif /* DEBUG_STALE_RATS */ Index: trunk/src_plugins/distalign/distalign.c =================================================================== --- trunk/src_plugins/distalign/distalign.c (revision 5022) +++ trunk/src_plugins/distalign/distalign.c (revision 5023) @@ -431,7 +431,7 @@ else dx = 0; pcb_element_move(PCB->Data, element, dx, dy); - AddObjectToMoveUndoList(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); changed = 1; } } @@ -596,7 +596,7 @@ else dx = 0; pcb_element_move(PCB->Data, element, dx, dy); - AddObjectToMoveUndoList(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); changed = 1; } /* in gaps mode, accumulate part widths */ Index: trunk/src_plugins/distaligntext/distaligntext.c =================================================================== --- trunk/src_plugins/distaligntext/distaligntext.c (revision 5022) +++ trunk/src_plugins/distaligntext/distaligntext.c (revision 5023) @@ -592,7 +592,7 @@ * didn't keep the element reference when sorting. */ pcb_text_move(text, dx, dy); - AddObjectToMoveUndoList(type, NULL, NULL, text, dx, dy); + pcb_undo_add_obj_to_move(type, NULL, NULL, text, dx, dy); changed = 1; } /* in gaps mode, accumulate part widths */ Index: trunk/src_plugins/djopt/djopt.c =================================================================== --- trunk/src_plugins/djopt/djopt.c (revision 5022) +++ trunk/src_plugins/djopt/djopt.c (revision 5023) @@ -452,7 +452,7 @@ from = (char *) linelist_first(&lyr->Line); nl = pcb_line_new(PCB->Data->Layer + layer, x1, y1, x2, y2, thick, clear, flags); - AddObjectToCreateUndoList(PCB_TYPE_LINE, lyr, nl, nl); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, lyr, nl, nl); to = (char *) linelist_first(&lyr->Line); if (from != to) { Index: trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/layout/create.c =================================================================== --- trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/layout/create.c (revision 5022) +++ trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/layout/create.c (revision 5023) @@ -72,7 +72,7 @@ line = pcb_line_new(CURRENT, x1, y1, x2, y2, thickness, clearance, get_flags(flags)); if (line != NULL) { - AddObjectToCreateUndoList (PCB_TYPE_LINE, CURRENT, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, CURRENT, line, line); return line; } return NULL; @@ -90,7 +90,7 @@ pin = pcb_via_new(PCB->Data, x, y, thickness, clearance, mask, hole, name, get_flags(flags)); if (pin != NULL) { - AddObjectToCreateUndoList (PCB_TYPE_VIA, pin, pin, pin); + pcb_undo_add_obj_to_create(PCB_TYPE_VIA, pin, pin, pin); return pin; } return NULL; @@ -106,7 +106,7 @@ void *arc; arc = pcb_arc_new(CURRENT, x, y, width, height, sa, dir, thickness, clearance, get_flags(flags)); if (arc != NULL) { - AddObjectToCreateUndoList (PCB_TYPE_ARC, CURRENT, arc, arc); + pcb_undo_add_obj_to_create(PCB_TYPE_ARC, CURRENT, arc, arc); return 0; } return NULL; Index: trunk/src_plugins/hid_gtk/gui-drc-window.c =================================================================== --- trunk/src_plugins/hid_gtk/gui-drc-window.c (revision 5022) +++ trunk/src_plugins/hid_gtk/gui-drc-window.c (revision 5023) @@ -93,7 +93,7 @@ PCB_VIA_LOOP(PCB->Data); { if (PCB_FLAG_TEST(flag, via)) { - AddObjectToFlagUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_flag(PCB_TYPE_VIA, via, via, via); PCB_FLAG_CLEAR(flag, via); DrawVia(via); change = pcb_true; @@ -105,7 +105,7 @@ PCB_PIN_LOOP(element); { if (PCB_FLAG_TEST(flag, pin)) { - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, pin, pin); + pcb_undo_add_obj_to_flag(PCB_TYPE_PIN, element, pin, pin); PCB_FLAG_CLEAR(flag, pin); DrawPin(pin); change = pcb_true; @@ -115,7 +115,7 @@ PCB_PAD_LOOP(element); { if (PCB_FLAG_TEST(flag, pad)) { - AddObjectToFlagUndoList(PCB_TYPE_PAD, element, pad, pad); + pcb_undo_add_obj_to_flag(PCB_TYPE_PAD, element, pad, pad); PCB_FLAG_CLEAR(flag, pad); DrawPad(pad); change = pcb_true; @@ -127,7 +127,7 @@ PCB_RAT_LOOP(PCB->Data); { if (PCB_FLAG_TEST(flag, line)) { - AddObjectToFlagUndoList(PCB_TYPE_RATLINE, line, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_RATLINE, line, line, line); PCB_FLAG_CLEAR(flag, line); DrawRat(line); change = pcb_true; @@ -137,7 +137,7 @@ PCB_LINE_COPPER_LOOP(PCB->Data); { if (PCB_FLAG_TEST(flag, line)) { - AddObjectToFlagUndoList(PCB_TYPE_LINE, layer, line, line); + pcb_undo_add_obj_to_flag(PCB_TYPE_LINE, layer, line, line); PCB_FLAG_CLEAR(flag, line); DrawLine(layer, line); change = pcb_true; @@ -147,7 +147,7 @@ PCB_ARC_COPPER_LOOP(PCB->Data); { if (PCB_FLAG_TEST(flag, arc)) { - AddObjectToFlagUndoList(PCB_TYPE_ARC, layer, arc, arc); + pcb_undo_add_obj_to_flag(PCB_TYPE_ARC, layer, arc, arc); PCB_FLAG_CLEAR(flag, arc); DrawArc(layer, arc); change = pcb_true; @@ -157,7 +157,7 @@ PCB_POLY_COPPER_LOOP(PCB->Data); { if (PCB_FLAG_TEST(flag, polygon)) { - AddObjectToFlagUndoList(PCB_TYPE_POLYGON, layer, polygon, polygon); + pcb_undo_add_obj_to_flag(PCB_TYPE_POLYGON, layer, polygon, polygon); PCB_FLAG_CLEAR(flag, polygon); DrawPolygon(layer, polygon); change = pcb_true; @@ -208,7 +208,7 @@ pcb_message(PCB_MSG_DEFAULT, _("Object ID %i identified during DRC was not found. Stale DRC window?\n"), object_id); continue; } - AddObjectToFlagUndoList(object_type, ptr1, ptr2, ptr3); + pcb_undo_add_obj_to_flag(object_type, ptr1, ptr2, ptr3); PCB_FLAG_SET(PCB_FLAG_FOUND, (pcb_any_obj_t *) ptr2); switch (violation->object_type_list[i]) { case PCB_TYPE_LINE: Index: trunk/src_plugins/hid_gtk/gui-netlist-window.c =================================================================== --- trunk/src_plugins/hid_gtk/gui-netlist-window.c (revision 5022) +++ trunk/src_plugins/hid_gtk/gui-netlist-window.c (revision 5023) @@ -201,7 +201,7 @@ if (!pcb_rat_seek_pad(entry, &conn, pcb_false)) return; - AddObjectToFlagUndoList(conn.type, conn.ptr1, conn.ptr2, conn.ptr2); + pcb_undo_add_obj_to_flag(conn.type, conn.ptr1, conn.ptr2, conn.ptr2); PCB_FLAG_TOGGLE(PCB_FLAG_SELECTED, (pcb_any_obj_t *) conn.ptr2); pcb_draw_obj(conn.type, conn.ptr1, conn.ptr2); } Index: trunk/src_plugins/jostle/jostle.c =================================================================== --- trunk/src_plugins/jostle/jostle.c (revision 5022) +++ trunk/src_plugins/jostle/jostle.c (revision 5023) @@ -274,7 +274,7 @@ line = pcb_line_new(layer, a[0], a[1], b[0], b[1], thickness, clearance, flags); if (line) { - AddObjectToCreateUndoList(PCB_TYPE_LINE, layer, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, layer, line, line); } return line; } Index: trunk/src_plugins/puller/puller.c =================================================================== --- trunk/src_plugins/puller/puller.c (revision 5022) +++ trunk/src_plugins/puller/puller.c (revision 5023) @@ -1627,7 +1627,7 @@ #endif pcb_line_t *line = pcb_line_new(CURRENT, x1, y1, x2, y2, sample->Thickness, sample->Clearance, sample->Flags); - AddObjectToCreateUndoList(PCB_TYPE_LINE, CURRENT, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, CURRENT, line, line); #if TRACE1 e = @@ -1655,7 +1655,7 @@ if (arc == 0) { arc = pcb_arc_new(CURRENT, x, y, r, r, sa, da * 2, sample->Thickness, sample->Clearance, sample->Flags); } - AddObjectToCreateUndoList(PCB_TYPE_ARC, CURRENT, arc, arc); + pcb_undo_add_obj_to_create(PCB_TYPE_ARC, CURRENT, arc, arc); if (!arc) longjmp(abort_buf, 1); Index: trunk/src_plugins/renumber/renumber.c =================================================================== --- trunk/src_plugins/renumber/renumber.c (revision 5022) +++ trunk/src_plugins/renumber/renumber.c (revision 5023) @@ -279,7 +279,7 @@ is[c_cnt] = pcb_strdup(tmps); c_cnt++; - AddObjectToChangeNameUndoList(PCB_TYPE_ELEMENT, NULL, NULL, element_list[i], NAMEONPCB_NAME(element_list[i])); + pcb_undo_add_obj_to_change_name(PCB_TYPE_ELEMENT, NULL, NULL, element_list[i], NAMEONPCB_NAME(element_list[i])); pcb_chg_obj_name(PCB_TYPE_ELEMENT, element_list[i], NULL, NULL, tmps); changed = pcb_true; @@ -303,7 +303,7 @@ if (changed) { /* update the netlist */ - AddNetlistLibToUndoList(PCB->NetlistLib); + pcb_undo_add_netlist_lib(PCB->NetlistLib); /* iterate over each net */ for (i = 0; i < PCB->NetlistLib[WTF].MenuN; i++) { Index: trunk/src_plugins/renumber/renumberblock.c =================================================================== --- trunk/src_plugins/renumber/renumberblock.c (revision 5022) +++ trunk/src_plugins/renumber/renumberblock.c (revision 5023) @@ -70,7 +70,7 @@ memcpy(new_ref, old_ref, refdes_split - old_ref); strcpy(new_ref + (refdes_split - old_ref), num_buf); - AddObjectToChangeNameUndoList(PCB_TYPE_ELEMENT, NULL, NULL, element, NAMEONPCB_NAME(element)); + pcb_undo_add_obj_to_change_name(PCB_TYPE_ELEMENT, NULL, NULL, element, NAMEONPCB_NAME(element)); pcb_chg_obj_name(PCB_TYPE_ELEMENT, element, NULL, NULL, new_ref); } Index: trunk/src_plugins/smartdisperse/smartdisperse.c =================================================================== --- trunk/src_plugins/smartdisperse/smartdisperse.c (revision 5022) +++ trunk/src_plugins/smartdisperse/smartdisperse.c (revision 5023) @@ -85,7 +85,7 @@ pcb_element_move(PCB->Data, element, dx, dy); /* and add to the undo list so we can undo this operation */ - AddObjectToMoveUndoList(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); + pcb_undo_add_obj_to_move(PCB_TYPE_ELEMENT, NULL, NULL, element, dx, dy); /* keep track of how tall this row is */ minx += element->BoundingBox.X2 - element->BoundingBox.X1 + GAP; Index: trunk/src_plugins/teardrops/teardrops.c =================================================================== --- trunk/src_plugins/teardrops/teardrops.c (revision 5022) +++ trunk/src_plugins/teardrops/teardrops.c (revision 5023) @@ -172,7 +172,7 @@ arc = pcb_arc_new(lay, (int) ax, (int) ay, (int) radius, (int) radius, (int) theta + 90 + aoffset, delta - aoffset, l->Thickness, l->Clearance, l->Flags); if (arc) - AddObjectToCreateUndoList(PCB_TYPE_ARC, lay, arc, arc); + pcb_undo_add_obj_to_create(PCB_TYPE_ARC, lay, arc, arc); ax = lx + dy * (x + t); ay = ly - dx * (x + t); @@ -180,7 +180,7 @@ arc = pcb_arc_new(lay, (int) ax, (int) ay, (int) radius, (int) radius, (int) theta - 90 - aoffset, -delta + aoffset, l->Thickness, l->Clearance, l->Flags); if (arc) - AddObjectToCreateUndoList(PCB_TYPE_ARC, lay, arc, arc); + pcb_undo_add_obj_to_create(PCB_TYPE_ARC, lay, arc, arc); radius += t * 1.9; aoffset = acos((double) adist / radius) * 180.0 / M_PI; Index: trunk/src_plugins/toporouter/toporouter.c =================================================================== --- trunk/src_plugins/toporouter/toporouter.c (revision 5022) +++ trunk/src_plugins/toporouter/toporouter.c (revision 5023) @@ -5535,7 +5535,7 @@ thickness, clearance, pcb_flag_make(PCB_FLAG_AUTO | (PCB_FLAG_TEST(CLEARNEWFLAG, PCB) ? PCB_FLAG_CLEARLINE : 0))); if (line) { - AddObjectToCreateUndoList(PCB_TYPE_LINE, LAYER_PTR(layer), line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, LAYER_PTR(layer), line, line); d = coord_distance((double) x0, (double) y0, (double) x1, (double) y1) / 100.; } return d; @@ -5584,7 +5584,7 @@ pcb_flag_make(PCB_FLAG_AUTO | (PCB_FLAG_TEST(CLEARNEWFLAG, PCB) ? PCB_FLAG_CLEARLINE : 0))); if (arc) { - AddObjectToCreateUndoList(PCB_TYPE_ARC, LAYER_PTR(layer), arc, arc); + pcb_undo_add_obj_to_create(PCB_TYPE_ARC, LAYER_PTR(layer), arc, arc); d = a->r * theta / 100.; } @@ -8201,7 +8201,7 @@ if ((via = pcb_via_new(PCB->Data, viax, viay, Settings.ViaThickness, 2 * Settings.Clearance, 0, Settings.ViaDrillingHole, NULL, pcb_no_flags())) != NULL) { - AddObjectToCreateUndoList(PCB_TYPE_VIA, via, via, via); + pcb_undo_add_obj_to_create(PCB_TYPE_VIA, via, via, via); /* if (gui->shift_is_pressed ()) pcb_chg_obj_thermal(PCB_TYPE_VIA, via, via, via, PCB->ThermStyle);*/ DrawVia(via); @@ -8208,7 +8208,7 @@ if ((line = pcb_line_new_merge(CURRENT, pad->Point1.X + 1., pad->Point1.Y + 1., viax + 1., viay + 1., Settings.LineThickness, 2 * Settings.Clearance, pcb_no_flags()))) { - AddObjectToCreateUndoList(PCB_TYPE_LINE, CURRENT, line, line); + pcb_undo_add_obj_to_create(PCB_TYPE_LINE, CURRENT, line, line); DrawLine(CURRENT, line); }