diff --git a/vhook.cpp b/vhook.cpp index 2c46684..7ff88b4 100644 --- a/vhook.cpp +++ b/vhook.cpp @@ -444,6 +444,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) @@ -471,6 +472,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) @@ -524,6 +526,7 @@ void *Callback(DHooksCallback *dg, void **argStack) g_SHPtr->DoRecall(); g_SHPtr->SetRes(MRES_SUPERCEDE); mres = MRES_SUPERCEDE; + g_SHPtr->EndContext(NULL); } break; default: @@ -625,6 +628,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) @@ -645,6 +649,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) @@ -782,6 +787,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) @@ -802,6 +808,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) @@ -930,6 +937,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) @@ -950,6 +958,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)