From 926a23d0bdb8f3aaef2de4e1decc58b594360263 Mon Sep 17 00:00:00 2001 From: Pavol Marko Date: Sat, 10 Nov 2007 16:32:16 +0000 Subject: [PATCH] Removed old g_Genc stuff and fixed GenContext::Equal --HG-- branch : hookman_autogen extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/branches/hookman_autogen%40556 --- sourcehook/sourcehook_hookmangen.cpp | 6 +++--- sourcehook/sourcehook_hookmangen.h | 1 + sourcehook/test/testhookmangen.h | 14 -------------- sourcehook/test/testhookmangen.hxx | 2 -- 4 files changed, 4 insertions(+), 19 deletions(-) diff --git a/sourcehook/sourcehook_hookmangen.cpp b/sourcehook/sourcehook_hookmangen.cpp index 2113853..103029b 100644 --- a/sourcehook/sourcehook_hookmangen.cpp +++ b/sourcehook/sourcehook_hookmangen.cpp @@ -48,8 +48,8 @@ namespace SourceHook } GenContext::GenContext(const ProtoInfo *proto, int vtbl_offs, int vtbl_idx, ISourceHook *pSHPtr) - : m_GeneratedPubFunc(NULL), m_Proto(proto), m_VtblOffs(vtbl_offs), m_VtblIdx(vtbl_idx), m_SHPtr(pSHPtr), - m_pHI(NULL), m_HookfuncVfnptr(NULL), m_RegCounter(0) + : m_GeneratedPubFunc(NULL), m_OrigProto(proto), m_Proto(proto), m_VtblOffs(vtbl_offs), + m_VtblIdx(vtbl_idx), m_SHPtr(pSHPtr), m_pHI(NULL), m_HookfuncVfnptr(NULL), m_RegCounter(0) { m_pHI = new void*; m_HookfuncVfnptr = new void*; @@ -1664,7 +1664,7 @@ namespace SourceHook bool GenContext::Equal(const CProto &proto, int vtbl_offs, int vtbl_idx) { - return (m_Proto.ExactlyEqual(proto) && m_VtblOffs == vtbl_offs && m_VtblIdx == vtbl_idx); + return (m_OrigProto.ExactlyEqual(proto) && m_VtblOffs == vtbl_offs && m_VtblIdx == vtbl_idx); } bool GenContext::Equal(HookManagerPubFunc other) diff --git a/sourcehook/sourcehook_hookmangen.h b/sourcehook/sourcehook_hookmangen.h index b22a3bf..ab66e27 100644 --- a/sourcehook/sourcehook_hookmangen.h +++ b/sourcehook/sourcehook_hookmangen.h @@ -159,6 +159,7 @@ namespace SourceHook HookManagerPubFunc m_GeneratedPubFunc; + CProto m_OrigProto; // original passed-in prototype CProto m_Proto; int m_VtblOffs; int m_VtblIdx; diff --git a/sourcehook/test/testhookmangen.h b/sourcehook/test/testhookmangen.h index b1caf8c..ac368b5 100644 --- a/sourcehook/test/testhookmangen.h +++ b/sourcehook/test/testhookmangen.h @@ -629,8 +629,6 @@ std::ostream& operator <<(std::ostream &os,const ParamState6<0, p1, p2, p3, p4, SourceHook::PassInfo::V2Info paraminfos2_##id[0+1]; \ SourceHook::ProtoInfo protoinfo_##id = { 0, {0, 0, 0}, paraminfos_##id, \ SourceHook::ProtoInfo::CallConv_ThisCall, __SH_EPI, paraminfos2_##id }; \ - \ - CAutoReleaseHookMan g_Genc_ad##id(NULL); #define THGM_SETUP_PI0(id) \ void setuppi_##id() \ @@ -836,8 +834,6 @@ std::ostream& operator <<(std::ostream &os,const ParamState6<0, p1, p2, p3, p4, SourceHook::PassInfo::V2Info paraminfos2_##id[1+1]; \ SourceHook::ProtoInfo protoinfo_##id = { 1, {0, 0, 0}, paraminfos_##id, \ SourceHook::ProtoInfo::CallConv_ThisCall, __SH_EPI, paraminfos2_##id }; \ - \ - CAutoReleaseHookMan g_Genc_ad##id(NULL); #define THGM_SETUP_PI1(id, p1_type, p1_passtype, p1_flags) \ void setuppi_##id() \ @@ -1043,8 +1039,6 @@ std::ostream& operator <<(std::ostream &os,const ParamState6<0, p1, p2, p3, p4, SourceHook::PassInfo::V2Info paraminfos2_##id[2+1]; \ SourceHook::ProtoInfo protoinfo_##id = { 2, {0, 0, 0}, paraminfos_##id, \ SourceHook::ProtoInfo::CallConv_ThisCall, __SH_EPI, paraminfos2_##id }; \ - \ - CAutoReleaseHookMan g_Genc_ad##id(NULL); #define THGM_SETUP_PI2(id, p1_type, p1_passtype, p1_flags, p2_type, p2_passtype, p2_flags) \ void setuppi_##id() \ @@ -1250,8 +1244,6 @@ std::ostream& operator <<(std::ostream &os,const ParamState6<0, p1, p2, p3, p4, SourceHook::PassInfo::V2Info paraminfos2_##id[3+1]; \ SourceHook::ProtoInfo protoinfo_##id = { 3, {0, 0, 0}, paraminfos_##id, \ SourceHook::ProtoInfo::CallConv_ThisCall, __SH_EPI, paraminfos2_##id }; \ - \ - CAutoReleaseHookMan g_Genc_ad##id(NULL); #define THGM_SETUP_PI3(id, p1_type, p1_passtype, p1_flags, p2_type, p2_passtype, p2_flags, p3_type, p3_passtype, p3_flags) \ void setuppi_##id() \ @@ -1457,8 +1449,6 @@ std::ostream& operator <<(std::ostream &os,const ParamState6<0, p1, p2, p3, p4, SourceHook::PassInfo::V2Info paraminfos2_##id[4+1]; \ SourceHook::ProtoInfo protoinfo_##id = { 4, {0, 0, 0}, paraminfos_##id, \ SourceHook::ProtoInfo::CallConv_ThisCall, __SH_EPI, paraminfos2_##id }; \ - \ - CAutoReleaseHookMan g_Genc_ad##id(NULL); #define THGM_SETUP_PI4(id, p1_type, p1_passtype, p1_flags, p2_type, p2_passtype, p2_flags, p3_type, p3_passtype, p3_flags, p4_type, p4_passtype, p4_flags) \ void setuppi_##id() \ @@ -1664,8 +1654,6 @@ std::ostream& operator <<(std::ostream &os,const ParamState6<0, p1, p2, p3, p4, SourceHook::PassInfo::V2Info paraminfos2_##id[5+1]; \ SourceHook::ProtoInfo protoinfo_##id = { 5, {0, 0, 0}, paraminfos_##id, \ SourceHook::ProtoInfo::CallConv_ThisCall, __SH_EPI, paraminfos2_##id }; \ - \ - CAutoReleaseHookMan g_Genc_ad##id(NULL); #define THGM_SETUP_PI5(id, p1_type, p1_passtype, p1_flags, p2_type, p2_passtype, p2_flags, p3_type, p3_passtype, p3_flags, p4_type, p4_passtype, p4_flags, p5_type, p5_passtype, p5_flags) \ void setuppi_##id() \ @@ -1871,8 +1859,6 @@ std::ostream& operator <<(std::ostream &os,const ParamState6<0, p1, p2, p3, p4, SourceHook::PassInfo::V2Info paraminfos2_##id[6+1]; \ SourceHook::ProtoInfo protoinfo_##id = { 6, {0, 0, 0}, paraminfos_##id, \ SourceHook::ProtoInfo::CallConv_ThisCall, __SH_EPI, paraminfos2_##id }; \ - \ - CAutoReleaseHookMan g_Genc_ad##id(NULL); #define THGM_SETUP_PI6(id, p1_type, p1_passtype, p1_flags, p2_type, p2_passtype, p2_flags, p3_type, p3_passtype, p3_flags, p4_type, p4_passtype, p4_flags, p5_type, p5_passtype, p5_flags, p6_type, p6_passtype, p6_flags) \ void setuppi_##id() \ diff --git a/sourcehook/test/testhookmangen.hxx b/sourcehook/test/testhookmangen.hxx index 0e283dd..52bafe1 100644 --- a/sourcehook/test/testhookmangen.hxx +++ b/sourcehook/test/testhookmangen.hxx @@ -371,8 +371,6 @@ std::ostream& operator <<(std::ostream &os,const ParamState$1<0@[$2,1,$1:, p$2@] SourceHook::PassInfo::V2Info paraminfos2_##id[$1+1]; \ SourceHook::ProtoInfo protoinfo_##id = { $1, {0, 0, 0}, paraminfos_##id, \ SourceHook::ProtoInfo::CallConv_ThisCall, __SH_EPI, paraminfos2_##id }; \ - \ - CAutoReleaseHookMan g_Genc_ad##id(NULL); #define THGM_SETUP_PI$1(id@[$2,1,$1:, p$2_type, p$2_passtype, p$2_flags@]) \ void setuppi_##id() \