summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/delegate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/util/delegate.h')
-rw-r--r--src/lib/util/delegate.h7
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