summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrlm <rlm@techsat.com>2020-04-27 10:59:06 (GMT)
committerrlm <rlm@techsat.com>2020-04-27 10:59:06 (GMT)
commit1e1c00d8170ecfc5d870f6ff159ac6a856f10fd6 (patch)
treebfe3ce7b03e694d71fd22564f96125763d723bd0
parent8c0380c36810ae06b6f5696dadbc87fda541dc5c (diff)
downloaduscxml-1e1c00d8170ecfc5d870f6ff159ac6a856f10fd6.zip
uscxml-1e1c00d8170ecfc5d870f6ff159ac6a856f10fd6.tar.gz
uscxml-1e1c00d8170ecfc5d870f6ff159ac6a856f10fd6.tar.bz2
:Jira: ADSVHTNG-1165 - fixed exit of state machine on done event of inner parallel state
Change-Id: I3744c95a322746d07fe47fcc345b3f26b685a4b2
-rwxr-xr-xsrc/uscxml/transform/ChartToC.cpp2
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;