mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-10-17 01:39:20 +02:00
make_event() lowercased the event name twice: cParser::getToken() already folds ASCII via toLowerChar() (which intentionally leaves bytes >= 0x80 alone), then ToLower() ran std::tolower() over every byte on top of that. With a non-"C" global locale, that second pass remaps cp1250 uppercase accented letters (e.g. 0xAF -> 0xBF). Every lookup path - TTrack::AssignEvents(), child-event resolution in multi_event, event-launcher name resolution - normalizes only through the parser, so a registered name containing such a letter can no longer be found: the track logs "can't find assigned event" and the binding is silently dropped. Removing the extra ToLower() makes the registration key match every lookup site (ASCII-only folding, non-ASCII bytes compared verbatim), and matches the direction toLowerChar()'s own comment already points at for UTF-8.