diff --git a/src/engine/shared/console.cpp b/src/engine/shared/console.cpp index c7e0fb4d244..360bbba74d4 100644 --- a/src/engine/shared/console.cpp +++ b/src/engine/shared/console.cpp @@ -511,7 +511,15 @@ void CConsole::ExecuteLineStroked(int Stroke, const char *pStr, int ClientId, bo if(Stroke || IsStrokeCommand) { - if(int Error = ParseArgs(&Result, pCommand->m_pParams, pCommand->m_pfnCallback == &SColorConfigVariable::CommandCallback)) + bool IsColor = false; + { + FCommandCallback pfnCallback = pCommand->m_pfnCallback; + void *pUserData = pCommand->m_pUserData; + TraverseChain(&pfnCallback, &pUserData); + IsColor = pfnCallback == &SColorConfigVariable::CommandCallback; + } + + if(int Error = ParseArgs(&Result, pCommand->m_pParams, IsColor)) { char aBuf[CMDLINE_LENGTH + 64]; if(Error == PARSEARGS_INVALID_INTEGER)