[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52294] trunk/blender/source/blender: Fix #33209: Opening an image with image node on Compositing freezes Blender
Sergey Sharybin
sergey.vfx at gmail.com
Sat Nov 17 12:07:56 CET 2012
Revision: 52294
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52294
Author: nazgul
Date: 2012-11-17 11:07:46 +0000 (Sat, 17 Nov 2012)
Log Message:
-----------
Fix #33209: Opening an image with image node on Compositing freezes Blender
Own mistake in image threading commit.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/image.c
trunk/blender/source/blender/compositor/operations/COM_ImageOperation.cpp
Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c 2012-11-17 06:32:35 UTC (rev 52293)
+++ trunk/blender/source/blender/blenkernel/intern/image.c 2012-11-17 11:07:46 UTC (rev 52294)
@@ -2173,6 +2173,8 @@
break;
}
+ BLI_spin_unlock(&image_spin);
+
/* don't use notifiers because they are not 100% sure to succeeded
* this also makes sure all scenes are accounted for. */
{
@@ -2183,8 +2185,6 @@
}
}
}
-
- BLI_spin_unlock(&image_spin);
}
/* if layer or pass changes, we need an index for the imbufs list */
Modified: trunk/blender/source/blender/compositor/operations/COM_ImageOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_ImageOperation.cpp 2012-11-17 06:32:35 UTC (rev 52293)
+++ trunk/blender/source/blender/compositor/operations/COM_ImageOperation.cpp 2012-11-17 11:07:46 UTC (rev 52294)
@@ -67,6 +67,7 @@
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,7 +94,7 @@
void BaseImageOperation::deinitExecution()
{
this->m_imageBuffer = NULL;
- IMB_freeImBuf(this->m_buffer);
+ BKE_image_release_ibuf(this->m_image, this->m_buffer, NULL);
}
void BaseImageOperation::determineResolution(unsigned int resolution[2], unsigned int preferredResolution[2])
More information about the Bf-blender-cvs
mailing list