[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48116] branches/soc-2011-tomato/source/ blender: Workaround for non-updating image editor when viewer node is opened there with view-transform

Sergey Sharybin sergey.vfx at gmail.com
Wed Jun 20 14:47:16 CEST 2012


Revision: 48116
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48116
Author:   nazgul
Date:     2012-06-20 12:47:08 +0000 (Wed, 20 Jun 2012)
Log Message:
-----------
Workaround for non-updating image editor when viewer node is opened there with view-transform

Modified Paths:
--------------
    branches/soc-2011-tomato/source/blender/compositor/operations/COM_ViewerBaseOperation.cpp
    branches/soc-2011-tomato/source/blender/imbuf/intern/divers.c

Modified: branches/soc-2011-tomato/source/blender/compositor/operations/COM_ViewerBaseOperation.cpp
===================================================================
--- branches/soc-2011-tomato/source/blender/compositor/operations/COM_ViewerBaseOperation.cpp	2012-06-20 12:06:48 UTC (rev 48115)
+++ branches/soc-2011-tomato/source/blender/compositor/operations/COM_ViewerBaseOperation.cpp	2012-06-20 12:47:08 UTC (rev 48116)
@@ -71,7 +71,9 @@
 		imb_addrectfloatImBuf(ibuf);
 		anImage->ok = IMA_OK_LOADED;
 	}
-	
+
+	imb_freerectviewImBuf_all(ibuf);
+
 	/* now we combine the input with ibuf */
 	this->outputBuffer = ibuf->rect_float;
 	this->outputBufferDisplay = (unsigned char *)ibuf->rect;
@@ -85,6 +87,10 @@
 
 void ViewerBaseOperation::deinitExecution()
 {
+	ImBuf *ibuf = BKE_image_acquire_ibuf(this->image, this->imageUser, &this->lock);
+	imb_freerectviewImBuf_all(ibuf);
+	BKE_image_release_ibuf(this->image, this->lock);
+
 	this->outputBuffer = NULL;
 }
 

Modified: branches/soc-2011-tomato/source/blender/imbuf/intern/divers.c
===================================================================
--- branches/soc-2011-tomato/source/blender/imbuf/intern/divers.c	2012-06-20 12:06:48 UTC (rev 48115)
+++ branches/soc-2011-tomato/source/blender/imbuf/intern/divers.c	2012-06-20 12:47:08 UTC (rev 48116)
@@ -705,7 +705,7 @@
 		                                       ibuf->channels, ibuf->dither, predivide,
 		                                       ibuf->x, ibuf->y, ibuf->x, ibuf->x);
 	}
-	else {
+	else if (ibuf->x && ibuf->y) {
 		ConstConfigRcPtr *config = OCIO_getCurrentConfig();
 		ConstProcessorRcPtr *processor;
 		DisplayTransformRcPtr *dt = OCIO_createDisplayTransform();




More information about the Bf-blender-cvs mailing list