diff --git a/vhook.cpp b/vhook.cpp index fca8525..fdcdaf0 100644 --- a/vhook.cpp +++ b/vhook.cpp @@ -354,6 +354,7 @@ void *Callback(DHooksCallback *dg, void **argStack) g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; ret = CallVFunction(dg, paramStruct, g_SHPtr->GetIfacePtr()); + g_SHPtr->EndContext(NULL); break; case MRES_ChangedOverride: if(dg->returnType != ReturnType_Void) @@ -381,6 +382,7 @@ void *Callback(DHooksCallback *dg, void **argStack) g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; CallVFunction(dg, paramStruct, g_SHPtr->GetIfacePtr()); + g_SHPtr->EndContext(NULL); break; case MRES_Override: if(dg->returnType != ReturnType_Void) @@ -434,6 +436,7 @@ void *Callback(DHooksCallback *dg, void **argStack) g_SHPtr->DoRecall(); g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; + g_SHPtr->EndContext(NULL); } break; default: @@ -535,6 +538,7 @@ float Callback_float(DHooksCallback *dg, void **argStack) g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; *(float *)ret = CallVFunction(dg, paramStruct, g_SHPtr->GetIfacePtr()); + g_SHPtr->EndContext(NULL); break; case MRES_ChangedOverride: if(dg->returnType != ReturnType_Void) @@ -555,6 +559,7 @@ float Callback_float(DHooksCallback *dg, void **argStack) g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; CallVFunction(dg, paramStruct, g_SHPtr->GetIfacePtr()); + g_SHPtr->EndContext(NULL); break; case MRES_Override: if(dg->returnType != ReturnType_Void) @@ -692,6 +697,7 @@ SDKVector *Callback_vector(DHooksCallback *dg, void **argStack) g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; *vec_result = CallVFunction(dg, paramStruct, g_SHPtr->GetIfacePtr()); + g_SHPtr->EndContext(NULL); break; case MRES_ChangedOverride: if(dg->returnType != ReturnType_Void) @@ -712,6 +718,7 @@ SDKVector *Callback_vector(DHooksCallback *dg, void **argStack) g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; CallVFunction(dg, paramStruct, g_SHPtr->GetIfacePtr()); + g_SHPtr->EndContext(NULL); break; case MRES_Override: if(dg->returnType != ReturnType_Void) @@ -840,6 +847,7 @@ string_t *Callback_stringt(DHooksCallback *dg, void **argStack) g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; *string_result = CallVFunction(dg, paramStruct, g_SHPtr->GetIfacePtr()); + g_SHPtr->EndContext(NULL); break; case MRES_ChangedOverride: if(dg->returnType != ReturnType_Void) @@ -860,6 +868,7 @@ string_t *Callback_stringt(DHooksCallback *dg, void **argStack) g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; CallVFunction(dg, paramStruct, g_SHPtr->GetIfacePtr()); + g_SHPtr->EndContext(NULL); break; case MRES_Override: if(dg->returnType != ReturnType_Void)