diff --git a/libaegisub/common/parser.cpp b/libaegisub/common/parser.cpp index c855c7e20..ef53ed0d2 100644 --- a/libaegisub/common/parser.cpp +++ b/libaegisub/common/parser.cpp @@ -206,10 +206,12 @@ namespace parser { namespace ass { std::vector TokenizeDialogueBody(std::string const& str, bool karaoke_templater) { - dialogue_tokens> tokenizer(karaoke_templater); + static const dialogue_tokens> kt(true); + static const dialogue_tokens> not_kt(false); + auto const& tokenizer = karaoke_templater ? kt : not_kt; - char const* first = str.c_str(); - char const* last = first + str.size(); + char const *first = str.c_str(); + char const *last = first + str.size(); std::vector data; auto it = tokenizer.begin(first, last), end = tokenizer.end();