Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/compositor/operations/COM_ImageOperation.cpp')
-rw-r--r--source/blender/compositor/operations/COM_ImageOperation.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/compositor/operations/COM_ImageOperation.cpp b/source/blender/compositor/operations/COM_ImageOperation.cpp
index fb3efbb67ed..d4c35f5afaa 100644
--- a/source/blender/compositor/operations/COM_ImageOperation.cpp
+++ b/source/blender/compositor/operations/COM_ImageOperation.cpp
@@ -65,8 +65,9 @@ ImBuf *BaseImageOperation::getImBuf()
{
ImBuf *ibuf;
- ibuf = BKE_image_get_ibuf(this->m_image, this->m_imageUser);
+ ibuf = BKE_image_acquire_ibuf(this->m_image, this->m_imageUser, NULL);
if (ibuf == NULL || (ibuf->rect == NULL && ibuf->rect_float == NULL)) {
+ BKE_image_release_ibuf(this->m_image, ibuf, NULL);
return NULL;
}
@@ -93,6 +94,7 @@ void BaseImageOperation::initExecution()
void BaseImageOperation::deinitExecution()
{
this->m_imageBuffer = NULL;
+ BKE_image_release_ibuf(this->m_image, this->m_buffer, NULL);
}
void BaseImageOperation::determineResolution(unsigned int resolution[2], unsigned int preferredResolution[2])
@@ -106,6 +108,8 @@ void BaseImageOperation::determineResolution(unsigned int resolution[2], unsigne
resolution[0] = stackbuf->x;
resolution[1] = stackbuf->y;
}
+
+ IMB_freeImBuf(stackbuf);
}
void ImageOperation::executePixel(float output[4], float x, float y, PixelSampler sampler)