From d594ba8e07a01c0e2bdaff812b693fc4ab6baa0b Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Fri, 21 Sep 2018 15:18:33 -0400 Subject: [PATCH] Additional adjustment to ensure that "run length" means the length shared by the material on both sides. However, it may require a clipping method to avoid triggering on shared lengths that are on an offset. --- drc/DRCbasic.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drc/DRCbasic.c b/drc/DRCbasic.c index e1443067..a3d2cbbf 100644 --- a/drc/DRCbasic.c +++ b/drc/DRCbasic.c @@ -565,7 +565,7 @@ drcTile (tile, arg) { if (cptr->drcc_cdist <= cptr->drcc_dist) triggered = mrd->entries; - else + else if ((edgeTop - edgeBot) >= cptr->drcc_cdist) { /* Run-length rule */ for (i = 0; i < mrd->entries; i++) @@ -581,6 +581,8 @@ drcTile (tile, arg) if (i == mrd->entries) cptr = cptr->drcc_next; } + else + cptr = cptr->drcc_next; } else cptr = cptr->drcc_next; @@ -942,9 +944,10 @@ checkbottom: if (trigpending) { if (mrd) + { if (cptr->drcc_cdist <= cptr->drcc_dist) triggered = mrd->entries; - else + else if ((edgeRight - edgeLeft) >= cptr->drcc_cdist) { /* Run-length rule */ for (i = 0; i < mrd->entries; i++) @@ -960,6 +963,9 @@ checkbottom: if (i == mrd->entries) cptr = cptr->drcc_next; } + else + cptr = cptr->drcc_next; + } else cptr = cptr->drcc_next; }