Commit: 6f5d1e257e727d73d62a1ab4efbbd9fa1332a4e6
Author: Campbell Barton
Date:   Wed Sep 2 23:23:44 2015 +1000
Branches: master
https://developer.blender.org/rB6f5d1e257e727d73d62a1ab4efbbd9fa1332a4e6

Add missing spin-lock to IMB_makeSingleUser

===================================================================

M       source/blender/imbuf/intern/allocimbuf.c

===================================================================

diff --git a/source/blender/imbuf/intern/allocimbuf.c 
b/source/blender/imbuf/intern/allocimbuf.c
index 9042c4b..b8771e3 100644
--- a/source/blender/imbuf/intern/allocimbuf.c
+++ b/source/blender/imbuf/intern/allocimbuf.c
@@ -206,7 +206,18 @@ ImBuf *IMB_makeSingleUser(ImBuf *ibuf)
 {
        ImBuf *rval;
 
-       if (!ibuf || ibuf->refcounter == 0) { return ibuf; }
+       if (ibuf) {
+               bool is_single;
+               BLI_spin_lock(&refcounter_spin);
+               is_single = (ibuf->refcounter == 0);
+               BLI_spin_unlock(&refcounter_spin);
+               if (is_single) {
+                       return ibuf;
+               }
+       }
+       else {
+               return NULL;
+       }
 
        rval = IMB_dupImBuf(ibuf);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to