From 703921e2fd0ecaf5e87478ba1316d5560932ae4b Mon Sep 17 00:00:00 2001 From: Marc Rollins Date: Thu, 21 Aug 2014 10:37:36 -0700 Subject: [PATCH] Reverting pass-by-value changes to arithmetic operators. --- modules/core/include/opencv2/core/types.hpp | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/modules/core/include/opencv2/core/types.hpp b/modules/core/include/opencv2/core/types.hpp index ea7b4dc..cf1cbe1 100644 --- a/modules/core/include/opencv2/core/types.hpp +++ b/modules/core/include/opencv2/core/types.hpp @@ -1320,10 +1320,11 @@ Size_<_Tp>& operator *= (Size_<_Tp>& a, _Tp b) } template static inline -Size_<_Tp> operator * (Size_<_Tp> a, _Tp b) +Size_<_Tp> operator * (const Size_<_Tp>& a, _Tp b) { - a *= b; - return a; + Size_<_Tp> tmp; + tmp *= b; + return tmp; } template static inline @@ -1335,10 +1336,11 @@ Size_<_Tp>& operator /= (Size_<_Tp>& a, _Tp b) } template static inline -Size_<_Tp> operator / (Size_<_Tp> a, _Tp b) +Size_<_Tp> operator / (const Size_<_Tp>& a, _Tp b) { - a /= b; - return a; + Size_<_Tp> tmp; + tmp /= b; + return tmp; } template static inline @@ -1350,10 +1352,11 @@ Size_<_Tp>& operator += (Size_<_Tp>& a, const Size_<_Tp>& b) } template static inline -Size_<_Tp> operator + (Size_<_Tp> a, const Size_<_Tp>& b) +Size_<_Tp> operator + (const Size_<_Tp>& a, const Size_<_Tp>& b) { - a += b; - return a; + Size_<_Tp> tmp; + tmp += b; + return tmp; } template static inline @@ -1365,10 +1368,11 @@ Size_<_Tp>& operator -= (Size_<_Tp>& a, const Size_<_Tp>& b) } template static inline -Size_<_Tp> operator - (Size_<_Tp> a, const Size_<_Tp>& b) +Size_<_Tp> operator - (const Size_<_Tp>& a, const Size_<_Tp>& b) { - a -= b; - return a; + Size_<_Tp> tmp; + tmp -= b; + return tmp; } template static inline -- 2.7.4