Bugfix: Pin memory while copying bitmap raw pointer.

This commit is contained in:
Peter Rekdal Sunde
2015-07-09 18:58:21 +02:00
parent 1dcb757d98
commit 7f385a33f3

View File

@@ -93,7 +93,10 @@ namespace openalprnet {
bitmap->PixelFormat bitmap->PixelFormat
); );
cv::Mat dstMat(cv::Size(bitmap->Width, bitmap->Height), CV_8UC(channels), reinterpret_cast<char*>(bitmapData->Scan0.ToPointer())); char *src = reinterpret_cast<char*>(bitmapData->Scan0.ToPointer());
pin_ptr<char> pin(&src[0]);
cv::Mat dstMat(cv::Size(bitmap->Width, bitmap->Height), CV_8UC(channels), pin);
bitmap->UnlockBits(bitmapData); bitmap->UnlockBits(bitmapData);
@@ -147,7 +150,10 @@ namespace openalprnet {
bitmap->PixelFormat bitmap->PixelFormat
); );
::memcpy(bitmapData->Scan0.ToPointer(), data, totalSize); char *src = reinterpret_cast<char*>(bitmapData->Scan0.ToPointer());
pin_ptr<char> pin(&src[0]);
::memcpy(pin, data, totalSize);
bitmap->UnlockBits(bitmapData); bitmap->UnlockBits(bitmapData);