[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32200] trunk/blender/source/blender/ editors/space_node/node_edit.c: Fix #24018: moving backdrop in node editor not working anymore after thread

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Sep 30 00:13:24 CEST 2010


Revision: 32200
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32200
Author:   blendix
Date:     2010-09-30 00:13:24 +0200 (Thu, 30 Sep 2010)

Log Message:
-----------
Fix #24018: moving backdrop in node editor not working anymore after thread
safety fixes, was one case where it was still using get_ibuf instead of
acquire/release_ibuf, this is required for render and compositing results
which are modified by other threads.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_edit.c

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2010-09-29 20:11:44 UTC (rev 32199)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2010-09-29 22:13:24 UTC (rev 32200)
@@ -750,12 +750,15 @@
 	Image *ima;
 	ImBuf *ibuf;
 	int pad= 10;
+	void *lock;
 	
 	ima= BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
-	ibuf= BKE_image_get_ibuf(ima, NULL);
+	ibuf= BKE_image_acquire_ibuf(ima, NULL, &lock);
 	
-	if(ibuf == NULL)
+	if(ibuf == NULL) {
+		BKE_image_release_ibuf(ima, lock);
 		return OPERATOR_CANCELLED;
+	}
 
 	nvm= MEM_callocN(sizeof(NodeViewMove), "NodeViewMove struct");
 	op->customdata= nvm;
@@ -766,6 +769,8 @@
 	nvm->xmax = ar->winx/2 + ibuf->x/2 - pad;
 	nvm->ymin = -(ar->winy/2) - ibuf->y/2 + pad;
 	nvm->ymax = ar->winy/2 + ibuf->y/2 - pad;
+
+	BKE_image_release_ibuf(ima, lock);
 	
 	/* add modal handler */
 	WM_event_add_modal_handler(C, op);





More information about the Bf-blender-cvs mailing list