diff options
Diffstat (limited to 'src/uscxml/transform/ChartToC.cpp')
-rwxr-xr-x | src/uscxml/transform/ChartToC.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/uscxml/transform/ChartToC.cpp b/src/uscxml/transform/ChartToC.cpp index 710260f..2216eed 100755 --- a/src/uscxml/transform/ChartToC.cpp +++ b/src/uscxml/transform/ChartToC.cpp @@ -2698,7 +2698,7 @@ void ChartToC::writeFSM(std::ostream& stream) { stream << " /* handle final states */" << std::endl; stream << " if unlikely(USCXML_STATE_MASK(USCXML_GET_STATE(i).type) == USCXML_STATE_FINAL) {" << std::endl; - stream << " if unlikely(USCXML_GET_STATE(i).ancestors[0] == 0x01) {" << std::endl; + stream << " if unlikely((USCXML_GET_STATE(i).ancestors[0] == 0x01) && (USCXML_GET_STATE(i).parent == 0)) {" << std::endl; stream << " ctx->flags |= USCXML_CTX_TOP_LEVEL_FINAL;" << std::endl; stream << " } else {" << std::endl; stream << " /* raise done event */" << std::endl; |