Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (revision 1810) +++ trunk/src/action_helper.c (revision 1811) @@ -161,7 +161,7 @@ */ void ClearWarnings() { - conf_core.editor.rat_warn = false; + conf_core.temp.rat_warn = false; ALLPIN_LOOP(PCB->Data); { if (TEST_FLAG(WARNFLAG, pin)) { @@ -486,7 +486,7 @@ void *ptr1, *ptr2, *ptr3; int type; - if (conf_core.editor.rat_warn) + if (conf_core.temp.rat_warn) ClearWarnings(); switch (conf_core.editor.mode) { case ARROW_MODE: Index: trunk/src/conf.c =================================================================== --- trunk/src/conf.c (revision 1810) +++ trunk/src/conf.c (revision 1811) @@ -409,7 +409,8 @@ static conf_field_clear(conf_native_t *f) { - + if (strncmp(f->hash_path, "temp", 4) == 0) + return; if (f->used > 0) { #define clr(field) memset(f->val.field, 0, sizeof(*(f->val.field)) * f->used) switch(f->type) { Index: trunk/src/conf_core.h =================================================================== --- trunk/src/conf_core.h (revision 1810) +++ trunk/src/conf_core.h (revision 1811) @@ -11,6 +11,10 @@ typedef struct { + struct temp { + CFT_BOOLEAN rat_warn; /* rats nest has set warnings */ + } temp; + struct editor { CFT_UNIT grid_unit; /* select whether you draw in mm or mil */ CFT_COORD grid; /* grid in pcb-units */ @@ -29,7 +33,6 @@ CFT_BOOLEAN save_last_command; /* save the last command entered by user */ CFT_BOOLEAN save_in_tmp; /* always save data in /tmp */ CFT_BOOLEAN draw_grid; /* draw grid points */ - CFT_BOOLEAN rat_warn; /* rats nest has set warnings */ CFT_BOOLEAN stipple_polygons; /* draw polygons with stipple */ CFT_BOOLEAN all_direction_lines; /* enable lines to all directions */ CFT_BOOLEAN rubber_band_mode; /* move, rotate use rubberband connections */ Index: trunk/src/find.c =================================================================== --- trunk/src/find.c (revision 1810) +++ trunk/src/find.c (revision 1811) @@ -912,7 +912,7 @@ if (!TEST_FLAG(TheFlag, pin) && PV_TOUCH_PV(&i->pv, pin)) { if (TEST_FLAG(HOLEFLAG, pin) || TEST_FLAG(HOLEFLAG, &i->pv)) { SET_FLAG(WARNFLAG, pin); - conf_core.editor.rat_warn = true; + conf_core.temp.rat_warn = true; if (pin->Element) Message(_("WARNING: Hole too close to pin.\n")); else @@ -991,7 +991,7 @@ if (!TEST_FLAG(TheFlag, pv) && PinLineIntersect(pv, &i->line)) { if (TEST_FLAG(HOLEFLAG, pv)) { SET_FLAG(WARNFLAG, pv); - conf_core.editor.rat_warn = true; + conf_core.temp.rat_warn = true; Message(_("WARNING: Hole too close to line.\n")); } else if (ADD_PV_TO_LIST(pv, LINE_TYPE, &i->line, FCT_COPPER)) @@ -1008,7 +1008,7 @@ if (!TEST_FLAG(TheFlag, pv) && IS_PV_ON_PAD(pv, &i->pad)) { if (TEST_FLAG(HOLEFLAG, pv)) { SET_FLAG(WARNFLAG, pv); - conf_core.editor.rat_warn = true; + conf_core.temp.rat_warn = true; Message(_("WARNING: Hole too close to pad.\n")); } else if (ADD_PV_TO_LIST(pv, PAD_TYPE, &i->pad, FCT_COPPER)) @@ -1025,7 +1025,7 @@ if (!TEST_FLAG(TheFlag, pv) && IS_PV_ON_ARC(pv, &i->arc)) { if (TEST_FLAG(HOLEFLAG, pv)) { SET_FLAG(WARNFLAG, pv); - conf_core.editor.rat_warn = true; + conf_core.temp.rat_warn = true; Message(_("WARNING: Hole touches arc.\n")); } else if (ADD_PV_TO_LIST(pv, ARC_TYPE, &i->arc, FCT_COPPER)) Index: trunk/src/flags.c =================================================================== --- trunk/src/flags.c (revision 1810) +++ trunk/src/flags.c (revision 1811) @@ -304,7 +304,7 @@ , {"drawgrid", FlagSETTINGS, OffsetOf(conf_core_t, editor.draw_grid)} , - {"ratwarn", FlagSETTINGS, OffsetOf(conf_core_t, editor.rat_warn)} + {"ratwarn", FlagSETTINGS, OffsetOf(conf_core_t, temp.rat_warn)} , {"stipplepolygons", FlagSETTINGS, OffsetOf(conf_core_t, editor.stipple_polygons)} , Index: trunk/src/rats.c =================================================================== --- trunk/src/rats.c (revision 1810) +++ trunk/src/rats.c (revision 1811) @@ -723,7 +723,7 @@ } if (Warned) - conf_core.editor.rat_warn = true; + conf_core.temp.rat_warn = true; if (changed) { IncrementUndoSerialNumber(); Index: trunk/src/rats_act.c =================================================================== --- trunk/src/rats_act.c (revision 1810) +++ trunk/src/rats_act.c (revision 1811) @@ -74,7 +74,7 @@ float len, small; if (function) { - if (conf_core.editor.rat_warn) + if (conf_core.temp.rat_warn) ClearWarnings(); switch (funchash_get(function, NULL)) { case F_AllRats: @@ -195,7 +195,7 @@ { char *function = ACTION_ARG(0); if (function) { - if (conf_core.editor.rat_warn) + if (conf_core.temp.rat_warn) ClearWarnings(); switch (funchash_get(function, NULL)) { case F_AllRats: