You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The server on linux crashes, in the 'CGameClient::WriteViewAngleUpdate' function, in this place, because the 'm_NetChannel' property is zero. This happens after some plugin executes the 'PrintToConsole' code and prints the text to the client console, then the sourcehook from the sourcetvmanager works and it clears the pointer and it only happens in this place (OnCGameClient_ClientPrintf_Post). In the specified place, very often the function works not for sourcetv, a simple check 'IsHLTV()' prevents crash, but this is wrong because this sourcehook then stops working for SourceTV. Example:
void HLTVServerWrapper::OnIClient_ClientPrintf_Post(const char* buf)
{
IClient *pClient = META_IFACEPTR(IClient);
if (!pClient->IsHLTV()) {
RETURN_META(MRES_IGNORED);
}
HandleClientPrintf(pClient, buf);
// We already called the function in HandleClientPrintf.
// Would crash or not do anything anyways.
RETURN_META(MRES_SUPERCEDE);
}
I also made additional condition 'IsHLTV' here and here. This code has always worked for SourceTV, although I'm not sure if this piece of code works at all, because the logs were written only at the moment when this code worked not for SourceTV.
The text was updated successfully, but these errors were encountered:
The server on linux crashes, in the 'CGameClient::WriteViewAngleUpdate' function, in this place, because the 'm_NetChannel' property is zero. This happens after some plugin executes the 'PrintToConsole' code and prints the text to the client console, then the sourcehook from the sourcetvmanager works and it clears the pointer and it only happens in this place (OnCGameClient_ClientPrintf_Post). In the specified place, very often the function works not for sourcetv, a simple check 'IsHLTV()' prevents crash, but this is wrong because this sourcehook then stops working for SourceTV. Example:
I also made additional condition 'IsHLTV' here and here. This code has always worked for SourceTV, although I'm not sure if this piece of code works at all, because the logs were written only at the moment when this code worked not for SourceTV.
The text was updated successfully, but these errors were encountered: