Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 34434) +++ trunk/src/gui_act.c (revision 34435) @@ -654,10 +654,10 @@ static const char pcb_acts_SetSame[] = "SetSame()"; static const char pcb_acth_SetSame[] = "Sets current layer and sizes to match indicated item."; /* DOC: setsame.html */ -static void set_same_(rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Diameter, rnd_coord_t Hole, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) +static void set_same_(rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) { int known; - known = pcb_route_style_lookup_strict(&PCB->RouteStyle, Thick, textt, texts, fid, Diameter, Hole, Clearance, via_proto, Name); + known = pcb_route_style_lookup_strict(&PCB->RouteStyle, Thick, textt, texts, fid, Clearance, via_proto, Name); if (known < 0) { /* unknown style, set properties */ if (Thick != -1) { rnd_conf_set_design("design/line_thickness", "%$mS", Thick); } @@ -686,7 +686,7 @@ switch (type) { case PCB_OBJ_LINE: rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); - set_same_(((pcb_line_t *) ptr2)->Thickness, -1, -1, -1, -1, -1, ((pcb_line_t *) ptr2)->Clearance / 2, -1, NULL); + set_same_(((pcb_line_t *)ptr2)->Thickness, -1, -1, -1, ((pcb_line_t *) ptr2)->Clearance / 2, -1, NULL); layer = (pcb_layer_t *) ptr1; if (rnd_conf.editor.mode != pcb_crosshair.tool_line) rnd_tool_select_by_name(RND_ACT_HIDLIB, "line"); @@ -696,7 +696,7 @@ case PCB_OBJ_ARC: rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); - set_same_(((pcb_arc_t *) ptr2)->Thickness, -1, -1, -1, -1, -1, ((pcb_arc_t *) ptr2)->Clearance / 2, -1, NULL); + set_same_(((pcb_arc_t *)ptr2)->Thickness, -1, -1, -1, ((pcb_arc_t *) ptr2)->Clearance / 2, -1, NULL); layer = (pcb_layer_t *) ptr1; if (rnd_conf.editor.mode != pcb_crosshair.tool_arc) rnd_tool_select_by_name(RND_ACT_HIDLIB, "arc"); @@ -710,7 +710,7 @@ case PCB_OBJ_PSTK: rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); - set_same_(-1, -1, -1, -1, -1, -1, -1, ((pcb_pstk_t *)ptr2)->proto, NULL); + set_same_(-1, -1, -1, -1, -1, ((pcb_pstk_t *)ptr2)->proto, NULL); if (rnd_conf.editor.mode != pcb_crosshair.tool_via) rnd_tool_select_by_name(RND_ACT_HIDLIB, "via"); rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_true); @@ -721,7 +721,7 @@ { pcb_text_t *text = ptr2; rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_false); - set_same_(-1, text->thickness, text->Scale, text->fid, -1, -1, -1, -1, NULL); + set_same_(-1, text->thickness, text->Scale, text->fid, -1, -1, NULL); if (rnd_conf.editor.mode != pcb_crosshair.tool_text) rnd_tool_select_by_name(RND_ACT_HIDLIB, "text"); rnd_hid_notify_crosshair_change(RND_ACT_HIDLIB, rnd_true); Index: trunk/src/route_style.c =================================================================== --- trunk/src/route_style.c (revision 34434) +++ trunk/src/route_style.c (revision 34435) @@ -69,7 +69,7 @@ #define cmpi0(a,b) (((a) > 0) && (strict || ((b) > 0)) && ((a) != (b))) #define cmpi(a,b) (((a) != -1) && (strict || ((b) != -1)) && ((a) != (b))) #define cmps(a,b) (((a) != NULL) && (strcmp((a), (b)) != 0)) -RND_INLINE int pcb_route_style_match_(pcb_route_style_t *rst, int strict, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Diameter, rnd_coord_t Hole, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) +RND_INLINE int pcb_route_style_match_(pcb_route_style_t *rst, int strict, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) { if (cmp(Thick, rst->Thick)) return 0; if (cmp(textt, rst->textt)) return 0; @@ -81,9 +81,9 @@ return 1; } -int pcb_route_style_match(pcb_route_style_t *rst, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Diameter, rnd_coord_t Hole, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) +int pcb_route_style_match(pcb_route_style_t *rst, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) { - return pcb_route_style_match_(rst, 0, Thick, textt, texts, fid, Diameter, Hole, Clearance, via_proto, Name); + return pcb_route_style_match_(rst, 0, Thick, textt, texts, fid, Clearance, via_proto, Name); } #undef cmp @@ -91,21 +91,21 @@ #undef cmpi0 #undef cmps -int pcb_route_style_lookup(vtroutestyle_t *styles, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Diameter, rnd_coord_t Hole, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) +int pcb_route_style_lookup(vtroutestyle_t *styles, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) { int n; for (n = 0; n < vtroutestyle_len(styles); n++) - if (pcb_route_style_match_(&styles->array[n], 0, Thick, textt, texts, fid, Diameter, Hole, Clearance, via_proto, Name)) + if (pcb_route_style_match_(&styles->array[n], 0, Thick, textt, texts, fid, Clearance, via_proto, Name)) return n; return -1; } -int pcb_route_style_lookup_strict(vtroutestyle_t *styles, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Diameter, rnd_coord_t Hole, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) +int pcb_route_style_lookup_strict(vtroutestyle_t *styles, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name) { int n; for (n = 0; n < vtroutestyle_len(styles); n++) - if (pcb_route_style_match_(&styles->array[n], 1, Thick, textt, texts, fid, Diameter, Hole, Clearance, via_proto, Name)) + if (pcb_route_style_match_(&styles->array[n], 1, Thick, textt, texts, fid, Clearance, via_proto, Name)) return n; return -1; } @@ -137,10 +137,10 @@ case F_SelectedObjects: case F_Selected: case F_SelectedElements: - if (size_id == 0) - *out = conf_core.design.via_thickness; - else if (size_id == 1) - *out = conf_core.design.via_drilling_hole; + if ((size_id == 0) || (size_id == 1)) { + rnd_message(RND_MSG_ERROR, "pcb_get_style_size(Selected*) for size_id %d is not supported (padstack prototypes don't have diameter)\n", size_id); + *out = 0; + } else *out = conf_core.design.clearance; break; @@ -286,8 +286,6 @@ g->rst.textt = conf_core.design.text_thickness; g->rst.texts = conf_core.design.text_scale; g->rst.Clearance = conf_core.design.clearance; - g->rst.Diameter = conf_core.design.via_thickness*2; - g->rst.Hole = conf_core.design.via_drilling_hole; g->rst.fid = -1; /* leave font unset so saving in old lihata format won't trigger a warning */ undo_rst_swap(g); Index: trunk/src/route_style.h =================================================================== --- trunk/src/route_style.h (revision 34434) +++ trunk/src/route_style.h (revision 34435) @@ -41,15 +41,15 @@ a style. Return -1 on no match. The strict version returns match only if the route style did set all values explicitly and not matching "wildcard" from the style's side */ -int pcb_route_style_lookup(vtroutestyle_t *styles, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Diameter, rnd_coord_t Hole, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name); -int pcb_route_style_lookup_strict(vtroutestyle_t *styles, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Diameter, rnd_coord_t Hole, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name); +int pcb_route_style_lookup(vtroutestyle_t *styles, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name); +int pcb_route_style_lookup_strict(vtroutestyle_t *styles, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name); /* Return 1 if rst matches the style in supplied args. Same matching rules as in pcb_route_style_lookup(). */ -int pcb_route_style_match(pcb_route_style_t *rst, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Diameter, rnd_coord_t Hole, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name); +int pcb_route_style_match(pcb_route_style_t *rst, rnd_coord_t Thick, rnd_coord_t textt, int texts, pcb_font_id_t fid, rnd_coord_t Clearance, rnd_cardinal_t via_proto, char *Name); /* helper: get route style size for a function and selected object type. - size_id: 0=main size; 1=2nd size (drill); 2=clearance */ + size_id: 0=main size; 1=2nd size (was drill); 2=clearance */ int pcb_get_style_size(int funcid, rnd_coord_t * out, int type, int size_id); #define PCB_LOOKUP_ROUTE_STYLE_PEN_(pcb, how) \ @@ -58,8 +58,6 @@ conf_core.design.text_thickness, \ conf_core.design.text_scale, \ conf_core.design.text_font_id, \ - conf_core.design.via_thickness, \ - conf_core.design.via_drilling_hole, \ conf_core.design.clearance, \ conf_core.design.via_proto, \ NULL) @@ -80,8 +78,6 @@ conf_core.design.text_thickness, \ conf_core.design.text_scale, \ conf_core.design.text_font_id, \ - conf_core.design.via_thickness, \ - conf_core.design.via_drilling_hole, \ conf_core.design.clearance, \ conf_core.design.via_proto, \ NULL)