From 462e03d15065e6a9eeb17604b330510b9f9a8558 Mon Sep 17 00:00:00 2001 From: Fyren Date: Tue, 21 Apr 2009 02:38:35 -0700 Subject: [PATCH] Fix medigun/CalcIsAttackCritical Windows crash (bug 3791, r=pred) --- extensions/tf2/criticals.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extensions/tf2/criticals.cpp b/extensions/tf2/criticals.cpp index 7d6233e7..f199c93f 100644 --- a/extensions/tf2/criticals.cpp +++ b/extensions/tf2/criticals.cpp @@ -103,6 +103,12 @@ DetourResult DetourCallback(CBaseEntity *pEnt) return Result_Ignore; } + const char *cls = pEdict->GetClassName(); + if (strcmp(cls, "tf_weapon_medigun") == 0) + { + return Result_Ignore; + } + int returnValue=0; CBaseHandle &hndl = *(CBaseHandle *)((uint8_t *)pEnt + info.actual_offset); @@ -110,7 +116,7 @@ DetourResult DetourCallback(CBaseEntity *pEnt) g_critForward->PushCell(index); //Client index g_critForward->PushCell(engine->IndexOfEdict(pEdict)); // Weapon index - g_critForward->PushString(pEdict->GetClassName()); //Weapon classname + g_critForward->PushString(cls); //Weapon classname g_critForward->PushCellByRef(&returnValue); //return value cell_t result = 0;