Index: base/callback.h |
diff --git a/base/callback.h b/base/callback.h |
index 09c3ef74dfcb24a121322ab75547ce965f9ca62e..001dd07f27fa4d1d043473b911a4608cc43324d6 100644 |
--- a/base/callback.h |
+++ b/base/callback.h |
@@ -312,7 +312,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: |
@@ -355,8 +355,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: |
@@ -401,9 +401,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: |
@@ -450,10 +450,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: |
@@ -503,11 +503,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: |
@@ -559,12 +559,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: |
@@ -618,13 +618,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: |