diff options
Diffstat (limited to 'src/lib/util/delegate.h')
-rw-r--r-- | src/lib/util/delegate.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/lib/util/delegate.h b/src/lib/util/delegate.h index 59e83f82617..f79f8a110ad 100644 --- a/src/lib/util/delegate.h +++ b/src/lib/util/delegate.h @@ -506,8 +506,7 @@ public: template <typename FunctionType> void update_after_bind(FunctionType &funcptr, delegate_generic_class *&object) { - funcptr = reinterpret_cast<FunctionType>(m_function); - return adjust_this_pointer(object); + funcptr = reinterpret_cast<FunctionType>(adjust_this_pointer(object)); } template <typename FunctionType> @@ -516,8 +515,8 @@ public: } private: - // adjust the object pointer - void adjust_this_pointer(delegate_generic_class *&object) const; + // adjust the object pointer and bypass thunks + delegate_generic_function adjust_this_pointer(delegate_generic_class *&object) const; // actual state uintptr_t m_function = 0; // pointer to function or non-virtual thunk for virtual function call |