[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44674] trunk/blender/source/blender/nodes /composite/nodes/node_composite_movieclip.c: Fix for crash when loading some mango files

Sergey Sharybin sergey.vfx at gmail.com
Tue Mar 6 14:57:45 CET 2012


Revision: 44674
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44674
Author:   nazgul
Date:     2012-03-06 13:57:28 +0000 (Tue, 06 Mar 2012)
Log Message:
-----------
Fix for crash when loading some mango files

Seems that issue is caused by several threads accessing to movie clip and one
of the threads (compositor node) was editing ImBuf which isn't nice anyway.

Modified Paths:
--------------
    trunk/blender/source/blender/nodes/composite/nodes/node_composite_movieclip.c

Modified: trunk/blender/source/blender/nodes/composite/nodes/node_composite_movieclip.c
===================================================================
--- trunk/blender/source/blender/nodes/composite/nodes/node_composite_movieclip.c	2012-03-06 12:51:17 UTC (rev 44673)
+++ trunk/blender/source/blender/nodes/composite/nodes/node_composite_movieclip.c	2012-03-06 13:57:28 UTC (rev 44674)
@@ -44,14 +44,16 @@
 
 static CompBuf *node_composit_get_movieclip(RenderData *rd, MovieClip *clip, MovieClipUser *user)
 {
-	ImBuf *ibuf;
+	ImBuf *orig_ibuf, *ibuf;
 	CompBuf *stackbuf;
 	int type;
 
 	float *rect;
 	int alloc= FALSE;
 
-	ibuf= BKE_movieclip_get_ibuf(clip, user);
+	orig_ibuf= BKE_movieclip_get_ibuf(clip, user);
+	ibuf= IMB_dupImBuf(ibuf);
+	IMB_freeImBuf(orig_ibuf);
 
 	if(ibuf==NULL || (ibuf->rect==NULL && ibuf->rect_float==NULL)) {
 		IMB_freeImBuf(ibuf);




More information about the Bf-blender-cvs mailing list