Index: base/callback.h |
diff --git a/base/callback.h b/base/callback.h |
index 16e3ee60c51971f87bb914e9e52bf5fd9ddd3091..aa4ec87751151ca70916caa7b760637f56e44f27 100644 |
--- a/base/callback.h |
+++ b/base/callback.h |
@@ -305,7 +305,7 @@ class Callback<R(A1)> : public internal::CallbackBase { |
PolymorphicInvoke f = |
reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
- return f(bind_state_.get(), a1); |
+ return f(bind_state_.get(), internal::CallbackForward(a1)); |
} |
private: |
@@ -348,8 +348,8 @@ class Callback<R(A1, A2)> : public internal::CallbackBase { |
PolymorphicInvoke f = |
reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
- return f(bind_state_.get(), a1, |
- a2); |
+ return f(bind_state_.get(), internal::CallbackForward(a1), |
+ internal::CallbackForward(a2)); |
} |
private: |
@@ -394,9 +394,9 @@ class Callback<R(A1, A2, A3)> : public internal::CallbackBase { |
PolymorphicInvoke f = |
reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
- return f(bind_state_.get(), a1, |
- a2, |
- a3); |
+ return f(bind_state_.get(), internal::CallbackForward(a1), |
+ internal::CallbackForward(a2), |
+ internal::CallbackForward(a3)); |
} |
private: |
@@ -443,10 +443,10 @@ class Callback<R(A1, A2, A3, A4)> : public internal::CallbackBase { |
PolymorphicInvoke f = |
reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
- return f(bind_state_.get(), a1, |
- a2, |
- a3, |
- a4); |
+ return f(bind_state_.get(), internal::CallbackForward(a1), |
+ internal::CallbackForward(a2), |
+ internal::CallbackForward(a3), |
+ internal::CallbackForward(a4)); |
} |
private: |
@@ -496,11 +496,11 @@ class Callback<R(A1, A2, A3, A4, A5)> : public internal::CallbackBase { |
PolymorphicInvoke f = |
reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
- return f(bind_state_.get(), a1, |
- a2, |
- a3, |
- a4, |
- a5); |
+ return f(bind_state_.get(), internal::CallbackForward(a1), |
+ internal::CallbackForward(a2), |
+ internal::CallbackForward(a3), |
+ internal::CallbackForward(a4), |
+ internal::CallbackForward(a5)); |
} |
private: |
@@ -552,12 +552,12 @@ class Callback<R(A1, A2, A3, A4, A5, A6)> : public internal::CallbackBase { |
PolymorphicInvoke f = |
reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
- return f(bind_state_.get(), a1, |
- a2, |
- a3, |
- a4, |
- a5, |
- a6); |
+ return f(bind_state_.get(), internal::CallbackForward(a1), |
+ internal::CallbackForward(a2), |
+ internal::CallbackForward(a3), |
+ internal::CallbackForward(a4), |
+ internal::CallbackForward(a5), |
+ internal::CallbackForward(a6)); |
} |
private: |
@@ -611,13 +611,13 @@ class Callback<R(A1, A2, A3, A4, A5, A6, A7)> : public internal::CallbackBase { |
PolymorphicInvoke f = |
reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
- return f(bind_state_.get(), a1, |
- a2, |
- a3, |
- a4, |
- a5, |
- a6, |
- a7); |
+ return f(bind_state_.get(), internal::CallbackForward(a1), |
+ internal::CallbackForward(a2), |
+ internal::CallbackForward(a3), |
+ internal::CallbackForward(a4), |
+ internal::CallbackForward(a5), |
+ internal::CallbackForward(a6), |
+ internal::CallbackForward(a7)); |
} |
private: |