Update crosshair logic so that the current "crosshair-color" value is used. The original code would not update the "crosshair-color" immediately after changing the "crosshair-color" preference setting.
Signed-off-by: Peter Tyser <pty...@gmail.com> --- src/crosshair.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/crosshair.c b/src/crosshair.c index 8321929..3098d7b 100644 --- a/src/crosshair.c +++ b/src/crosshair.c @@ -583,6 +583,7 @@ DrawAttached (Boolean BlockToo) switch (Settings.Mode) { case VIA_MODE: + gui->set_color (Crosshair.GC, Settings.CrosshairColor); gui->draw_arc (Crosshair.GC, Crosshair.X, Crosshair.Y, @@ -594,12 +595,13 @@ DrawAttached (Boolean BlockToo) gui->set_color (Crosshair.GC, Settings.CrossColor); gui->draw_arc (Crosshair.GC, Crosshair.X, Crosshair.Y, s, s, 0, 360); - gui->set_color (Crosshair.GC, Settings.CrosshairColor); } break; /* the attached line is used by both LINEMODE and POLYGON_MODE */ case POLYGON_MODE: + gui->set_color (Crosshair.GC, Settings.CrosshairColor); + /* draw only if starting point is set */ if (Crosshair.AttachedLine.State != STATE_FIRST) gui->draw_line (Crosshair.GC, @@ -618,13 +620,13 @@ DrawAttached (Boolean BlockToo) case ARC_MODE: if (Crosshair.AttachedBox.State != STATE_FIRST) { + gui->set_color (Crosshair.GC, Settings.CrosshairColor); XORDrawAttachedArc (Settings.LineThickness); if (TEST_FLAG (SHOWDRCFLAG, PCB)) { gui->set_color (Crosshair.GC, Settings.CrossColor); XORDrawAttachedArc (Settings.LineThickness + 2 * (PCB->Bloat + 1)); - gui->set_color (Crosshair.GC, Settings.CrosshairColor); } } @@ -635,6 +637,7 @@ DrawAttached (Boolean BlockToo) if (Crosshair.AttachedLine.State != STATE_FIRST && Crosshair.AttachedLine.draw) { + gui->set_color (Crosshair.GC, Settings.CrosshairColor); XORDrawAttachedLine (Crosshair.AttachedLine.Point1.X, Crosshair.AttachedLine.Point1.Y, Crosshair.AttachedLine.Point2.X, @@ -661,7 +664,6 @@ DrawAttached (Boolean BlockToo) Crosshair.X, Crosshair.Y, PCB->RatDraw ? 10 : Settings. LineThickness + 2 * (PCB->Bloat + 1)); - gui->set_color (Crosshair.GC, Settings.CrosshairColor); } } break; @@ -678,6 +680,10 @@ DrawAttached (Boolean BlockToo) case INSERTPOINT_MODE: XORDrawInsertPointObject (); break; + case ARROW_MODE: + /* We're going to draw a selection rectangle */ + case RECTANGLE_MODE: + gui->set_color (Crosshair.GC, Settings.CrosshairColor); } /* an attached box does not depend on a special mode */ -- 1.6.2-rc2.GIT _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user