mirror of
https://github.com/opencv/opencv.git
synced 2025-06-26 06:18:43 +08:00
Merge pull request #9230 from alalek:mat_cleanup_on_exception
This commit is contained in:
commit
0d7aeacc34
@ -60,7 +60,6 @@ void MatAllocator::unmap(UMatData* u) const
|
|||||||
if(u->urefcount == 0 && u->refcount == 0)
|
if(u->urefcount == 0 && u->refcount == 0)
|
||||||
{
|
{
|
||||||
deallocate(u);
|
deallocate(u);
|
||||||
u = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,8 +460,11 @@ void Mat::copySize(const Mat& m)
|
|||||||
void Mat::deallocate()
|
void Mat::deallocate()
|
||||||
{
|
{
|
||||||
if(u)
|
if(u)
|
||||||
(u->currAllocator ? u->currAllocator : allocator ? allocator : getDefaultAllocator())->unmap(u);
|
{
|
||||||
u = NULL;
|
UMatData* u_ = u;
|
||||||
|
u = NULL;
|
||||||
|
(u_->currAllocator ? u_->currAllocator : allocator ? allocator : getDefaultAllocator())->unmap(u_);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Mat::Mat(const Mat& m, const Range& _rowRange, const Range& _colRange)
|
Mat::Mat(const Mat& m, const Range& _rowRange, const Range& _colRange)
|
||||||
|
@ -411,8 +411,9 @@ UMat::~UMat()
|
|||||||
|
|
||||||
void UMat::deallocate()
|
void UMat::deallocate()
|
||||||
{
|
{
|
||||||
u->currAllocator->deallocate(u);
|
UMatData* u_ = u;
|
||||||
u = NULL;
|
u = NULL;
|
||||||
|
u_->currAllocator->deallocate(u_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user