diff --git a/app/commsdsl2comms/src/CommsField.cpp b/app/commsdsl2comms/src/CommsField.cpp index d3fb8c66..4043b1ac 100644 --- a/app/commsdsl2comms/src/CommsField.cpp +++ b/app/commsdsl2comms/src/CommsField.cpp @@ -886,7 +886,11 @@ bool CommsField::commsPrepareOverrideInternal( break; } - customCode = bodyFunc(codePathPrefix); + auto bodyContents = bodyFunc(codePathPrefix); + if (!bodyContents.empty()) { + customCode = std::move(bodyContents); + break; + } } while (false); if (customCode.empty() && isOverrideCodeRequired(type)) { diff --git a/app/commsdsl2comms/src/CommsMessage.cpp b/app/commsdsl2comms/src/CommsMessage.cpp index c9a7f93f..1af619ef 100644 --- a/app/commsdsl2comms/src/CommsMessage.cpp +++ b/app/commsdsl2comms/src/CommsMessage.cpp @@ -330,7 +330,11 @@ bool CommsMessage::commsPrepareOverrideInternal( break; } - customCode = bodyFunc(codePathPrefix); + auto bodyContents = bodyFunc(codePathPrefix); + if (!bodyContents.empty()) { + customCode = std::move(bodyContents); + break; + } } while (false); if (customCode.empty() && isOverrideCodeRequired(type)) {