mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 19:50:38 +08:00
Merge pull request #4136 from alalek:fix_matallocator_destruction
This commit is contained in:
commit
bd90425f71
@ -222,10 +222,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
static StdMatAllocator *mat_allocator = NULL;
|
||||
MatAllocator* Mat::getStdAllocator()
|
||||
{
|
||||
static StdMatAllocator allocator;
|
||||
return &allocator;
|
||||
if (mat_allocator == NULL)
|
||||
{
|
||||
mat_allocator = new StdMatAllocator();
|
||||
}
|
||||
return mat_allocator;
|
||||
}
|
||||
|
||||
void swap( Mat& a, Mat& b )
|
||||
|
@ -5237,10 +5237,15 @@ public:
|
||||
MatAllocator* matStdAllocator;
|
||||
};
|
||||
|
||||
// This line should not force OpenCL runtime initialization! (don't put "new OpenCLAllocator()" here)
|
||||
static MatAllocator *ocl_allocator = NULL;
|
||||
MatAllocator* getOpenCLAllocator()
|
||||
{
|
||||
static MatAllocator * allocator = new OpenCLAllocator();
|
||||
return allocator;
|
||||
if (ocl_allocator == NULL)
|
||||
{
|
||||
ocl_allocator = new OpenCLAllocator();
|
||||
}
|
||||
return ocl_allocator;
|
||||
}
|
||||
|
||||
}} // namespace cv::ocl
|
||||
|
Loading…
Reference in New Issue
Block a user