Commit 3a8df603 authored by Vadim Pisarevsky's avatar Vadim Pisarevsky

fixes Mat::empty() and Mat::create() in the case of zero sizes (ticket #691)

parent 5f15cf64
......@@ -414,7 +414,7 @@ inline int Mat::type() const { return CV_MAT_TYPE(flags); }
inline int Mat::depth() const { return CV_MAT_DEPTH(flags); }
inline int Mat::channels() const { return CV_MAT_CN(flags); }
inline size_t Mat::step1(int i) const { return step.p[i]/elemSize1(); }
inline bool Mat::empty() const { return data == 0 || size.p[0] == 0; }
inline bool Mat::empty() const { return data == 0 || total() == 0; }
inline size_t Mat::total() const
{
if( dims <= 2 )
......
......@@ -205,7 +205,7 @@ void Mat::create(int d, const int* _sizes, int _type)
flags = (_type & CV_MAT_TYPE_MASK) | MAGIC_VAL;
setSize(*this, d, _sizes, 0, allocator == 0);
if( size.p[0] > 0 )
if( total() > 0 )
{
if( !allocator )
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment