From 85561d0503d05c18208c42c59e92f87364730431 Mon Sep 17 00:00:00 2001 From: "R. Timothy Edwards" Date: Tue, 12 May 2026 12:06:16 -0400 Subject: [PATCH] Corrected an error with the new "tagged" operator when used in "cifinput"; instead of cifSrTiles(), which ignores the "area" argument and searches over the entire plane, it should have been using cifSrTiles2(), which translates the area to CIF coordinates and searches only over that area. Otherwise, everything on the same layer in a cell gets tagged, rather than just connected material. --- cif/CIFgen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cif/CIFgen.c b/cif/CIFgen.c index e1da3bc1..0536078d 100644 --- a/cif/CIFgen.c +++ b/cif/CIFgen.c @@ -4117,7 +4117,7 @@ cifSrTiles( * one or more times for the planes being used in processing * where the CIF search should be conducted over "area" scaled * to CIF units, rather than the entire plane. Currently used - * only for operator CIFOP_INTERACT. + * only for operators CIFOP_INTERACT and CIFOP_TAGGED. * * Results: * Returns the value returned by the function. @@ -5681,7 +5681,7 @@ CIFGenLayer( for (label = cellDef->cd_labels; label; label = label->lab_next) if (!strcmp(label->lab_text, text)) - cifSrTiles(op, &label->lab_rect, cellDef, temps, + cifSrTiles2(op, &label->lab_rect, cellDef, temps, cifBloatAllFunc, (ClientData)&bls); /* Reset marked tiles */