[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14050] trunk/blender/source/blender/ render/intern/source/rendercore.c: stupid mistake for setting the bake mask (only masked half the faces), also exposed a possible bug since the malloc and null checks were done without mutex locking .
Campbell Barton
ideasman42 at gmail.com
Mon Mar 10 21:58:54 CET 2008
Revision: 14050
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14050
Author: campbellbarton
Date: 2008-03-10 21:58:53 +0100 (Mon, 10 Mar 2008)
Log Message:
-----------
stupid mistake for setting the bake mask (only masked half the faces), also exposed a possible bug since the malloc and null checks were done without mutex locking.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/rendercore.c
Modified: trunk/blender/source/blender/render/intern/source/rendercore.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rendercore.c 2008-03-10 20:12:45 UTC (rev 14049)
+++ trunk/blender/source/blender/render/intern/source/rendercore.c 2008-03-10 20:58:53 UTC (rev 14050)
@@ -2282,7 +2282,13 @@
if (bs->usemask) {
if (bs->ibuf->userdata==NULL) {
- bs->ibuf->userdata = (void *)MEM_callocN(sizeof(char)*bs->rectx*bs->recty, "BakeMask");
+ BLI_lock_thread(LOCK_CUSTOM1);
+ if (bs->ibuf->userdata==NULL) { /* since the thread was locked, its possible another thread alloced the value */
+ bs->ibuf->userdata = (void *)MEM_callocN(sizeof(char)*bs->rectx*bs->recty, "BakeMask");
+ bs->rect_mask= (char *)bs->ibuf->userdata;
+ }
+ BLI_unlock_thread(LOCK_CUSTOM1);
+ } else {
bs->rect_mask= (char *)bs->ibuf->userdata;
}
}
More information about the Bf-blender-cvs
mailing list