From df8364ce631bf6bc271f62eb746bd7c364830feb Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Tue, 9 Oct 2012 16:28:31 +0400 Subject: [PATCH] Fixed "arr = NaN" case (bug #2056) --- modules/core/src/copy.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/core/src/copy.cpp b/modules/core/src/copy.cpp index 84732e37a6..4de669b860 100644 --- a/modules/core/src/copy.cpp +++ b/modules/core/src/copy.cpp @@ -306,8 +306,9 @@ Mat& Mat::operator = (const Scalar& s) uchar* dptr; NAryMatIterator it(arrays, &dptr, 1); size_t elsize = it.size*elemSize(); + const int64* is = (const int64*)&s.val[0]; - if( s[0] == 0 && s[1] == 0 && s[2] == 0 && s[3] == 0 ) + if( is[0] == 0 && is[1] == 0 && is[2] == 0 && is[3] == 0 ) { for( size_t i = 0; i < it.nplanes; i++, ++it ) memset( dptr, 0, elsize );