From 47d945fbcd1a5dead04471fac96b59ceb43779bd Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Thu, 4 Sep 2025 23:24:41 +0300 Subject: [PATCH 1/2] Fix bug when EMC doesn't have a balancing BMC/BDC --- .../org/verapdf/gf/model/factory/chunks/ChunkParser.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wcag-validation/src/main/java/org/verapdf/gf/model/factory/chunks/ChunkParser.java b/wcag-validation/src/main/java/org/verapdf/gf/model/factory/chunks/ChunkParser.java index 499fa290b..fa97c7571 100644 --- a/wcag-validation/src/main/java/org/verapdf/gf/model/factory/chunks/ChunkParser.java +++ b/wcag-validation/src/main/java/org/verapdf/gf/model/factory/chunks/ChunkParser.java @@ -106,7 +106,11 @@ public void parseChunk(Operator rawOperator, List arguments) { break; case Operators.EMC: processLineArts(); - markedContentStack.pop(); + if (!markedContentStack.isEmpty()) { + markedContentStack.pop(); + } else { + LOGGER.log(Level.WARNING, "EMC operator does not have a balancing BMC/BDC operator"); + } break; case Operators.G_FILL: { if (this.graphicsState.isProcessColorOperators()) { From 83d22e5cf889e757a46b4d3aa8c2231d39b8cf17 Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Fri, 5 Sep 2025 12:09:40 +0300 Subject: [PATCH 2/2] Change error message in OperatorParser --- .../org/verapdf/gf/model/factory/operators/OperatorParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validation-model/src/main/java/org/verapdf/gf/model/factory/operators/OperatorParser.java b/validation-model/src/main/java/org/verapdf/gf/model/factory/operators/OperatorParser.java index faa9b3638..f17510555 100644 --- a/validation-model/src/main/java/org/verapdf/gf/model/factory/operators/OperatorParser.java +++ b/validation-model/src/main/java/org/verapdf/gf/model/factory/operators/OperatorParser.java @@ -191,7 +191,7 @@ void parseOperator(List processedOperators, if (!this.markedContentStack.empty()) { this.markedContentStack.pop(); } else { - LOGGER.log(Level.WARNING, getErrorMessage("Operator (EMC) not inside marked content")); + LOGGER.log(Level.WARNING, getErrorMessage("EMC operator does not have a balancing BMC/BDC operator")); } break; case Operators.MP: