Index: trunk/doc/conf/tree/rc.html =================================================================== --- trunk/doc/conf/tree/rc.html (revision 7521) +++ trunk/doc/conf/tree/rc.html (revision 7522) @@ -24,4 +24,5 @@ preferred_gui list 0 if set, try GUI HIDs in this order when no GUI is explicitly selected save_final_fallback_fmt string 0 when a new file is created (by running pcb-rnd with the file name) there won't be a known format; pcb-rnd will guess from the file name (extension) but eventhat may fail. This format is the final fallback that'll be used if no other guessing mechanism worked. The user can override this by save as. have_regex boolean 0 whether we have regex compiled in + paste_adjust coord 0 Adjust paste thickness Index: trunk/src/conf_core.h =================================================================== --- trunk/src/conf_core.h (revision 7521) +++ trunk/src/conf_core.h (revision 7522) @@ -119,6 +119,7 @@ CFT_STRING exec_prefix; /* exec prefix path (extracted from argv[0]) */ } path; + CFT_COORD paste_adjust; /* Adjust paste thickness */ } rc; const struct design { /* defaults of a new layout */ Index: trunk/src/obj_pad.c =================================================================== --- trunk/src/obj_pad.c (revision 7521) +++ trunk/src/obj_pad.c (revision 7522) @@ -445,10 +445,14 @@ PCB_PAD_ALL_LOOP(PCB->Data); { if (PCB_ON_SIDE(pad, side) && !PCB_FLAG_TEST(PCB_FLAG_NOPASTE, pad) && pad->Mask > 0) { + pcb_coord_t save_thickness = pad->Thickness; + if (conf_core.rc.paste_adjust) + pad->Thickness = max(0, pad->Thickness + conf_core.rc.paste_adjust); if (pad->Mask < pad->Thickness) _draw_pad(Output.fgGC, pad, pcb_true, pcb_true); else _draw_pad(Output.fgGC, pad, pcb_false, pcb_false); + pad->Thickness = save_thickness; } } PCB_ENDALL_LOOP; Index: trunk/src/pcb-conf.lht =================================================================== --- trunk/src/pcb-conf.lht (revision 7521) +++ trunk/src/pcb-conf.lht (revision 7522) @@ -117,6 +117,7 @@ # rat_command = {} li:preferred_gui = { gtk; lesstif } save_final_fallback_fmt = lihata + paste_adjust = 0 } # rc ha:design { Index: trunk/src_plugins/export_gerber/gerber.c =================================================================== --- trunk/src_plugins/export_gerber/gerber.c (revision 7521) +++ trunk/src_plugins/export_gerber/gerber.c (revision 7522) @@ -894,7 +894,7 @@ aptr = findAperture(curr_aptr_list, linewidth, shape); if (aptr == NULL) pcb_fprintf(stderr, "error: aperture for width %$mS type %s is null\n", linewidth, shape == ROUND ? "ROUND" : "SQUARE"); - if (f) + if (f && aptr) fprintf(f, "G54D%d*", aptr->dCode); } #if 0 Index: trunk/src_plugins/lib_gtk_config/gui-config.c =================================================================== --- trunk/src_plugins/lib_gtk_config/gui-config.c (revision 7521) +++ trunk/src_plugins/lib_gtk_config/gui-config.c (revision 7522) @@ -1883,7 +1883,7 @@ auto_tab_widgets.edit_string = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(src_right), auto_tab_widgets.edit_string, FALSE, FALSE, 4); - auto_tab_widgets.edit_coord = pcb_gtk_coord_entry_new(10, PCB_MM_TO_COORD(1000), 0, conf_core.editor.grid_unit, CE_TINY); + auto_tab_widgets.edit_coord = pcb_gtk_coord_entry_new(PCB_MM_TO_COORD(-1000), PCB_MM_TO_COORD(1000), 0, conf_core.editor.grid_unit, CE_TINY); gtk_box_pack_start(GTK_BOX(src_right), auto_tab_widgets.edit_coord, FALSE, FALSE, 4); auto_tab_widgets.edit_int_adj = GTK_ADJUSTMENT(gtk_adjustment_new(10, 0, /* min */