[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49455] trunk/blender/source/blender/ compositor: Replace scene pointer with scene name to prevent possible misusages

Sergey Sharybin sergey.vfx at gmail.com
Wed Aug 1 16:48:47 CEST 2012


Revision: 49455
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49455
Author:   nazgul
Date:     2012-08-01 14:48:46 +0000 (Wed, 01 Aug 2012)
Log Message:
-----------
Replace scene pointer with scene name to prevent possible misusages
of scene in node in future.

Modified Paths:
--------------
    trunk/blender/source/blender/compositor/nodes/COM_CompositorNode.cpp
    trunk/blender/source/blender/compositor/operations/COM_CompositorOperation.cpp
    trunk/blender/source/blender/compositor/operations/COM_CompositorOperation.h

Modified: trunk/blender/source/blender/compositor/nodes/COM_CompositorNode.cpp
===================================================================
--- trunk/blender/source/blender/compositor/nodes/COM_CompositorNode.cpp	2012-08-01 14:37:13 UTC (rev 49454)
+++ trunk/blender/source/blender/compositor/nodes/COM_CompositorNode.cpp	2012-08-01 14:48:46 UTC (rev 49455)
@@ -38,7 +38,7 @@
 	InputSocket *depthSocket = this->getInputSocket(2);
 
 	CompositorOperation *compositorOperation = new CompositorOperation();
-	compositorOperation->setScene((Scene *) editorNode->id);
+	compositorOperation->setSceneName(editorNode->id->name);
 	compositorOperation->setRenderData(context->getRenderData());
 	compositorOperation->setbNodeTree(context->getbNodeTree());
 	imageSocket->relinkConnections(compositorOperation->getInputSocket(0), 0, graph);

Modified: trunk/blender/source/blender/compositor/operations/COM_CompositorOperation.cpp
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_CompositorOperation.cpp	2012-08-01 14:37:13 UTC (rev 49454)
+++ trunk/blender/source/blender/compositor/operations/COM_CompositorOperation.cpp	2012-08-01 14:48:46 UTC (rev 49455)
@@ -49,6 +49,8 @@
 	this->m_imageInput = NULL;
 	this->m_alphaInput = NULL;
 	this->m_depthInput = NULL;
+
+	this->m_sceneName[0] = '\0';
 }
 
 void CompositorOperation::initExecution()
@@ -68,7 +70,7 @@
 void CompositorOperation::deinitExecution()
 {
 	if (!isBreaked()) {
-		Render *re = RE_GetRender(this->m_scene->id.name);
+		Render *re = RE_GetRender(this->m_sceneName);
 		RenderResult *rr = RE_AcquireResultWrite(re);
 
 		if (rr) {
@@ -164,7 +166,7 @@
 
 	// check actual render resolution with cropping it may differ with cropped border.rendering
 	// FIX for: [31777] Border Crop gives black (easy)
-	Render *re = RE_GetRender(this->m_scene->id.name);
+	Render *re = RE_GetRender(this->m_sceneName);
 	if (re) {
 		RenderResult *rr = RE_AcquireResultRead(re);
 		if (rr) {

Modified: trunk/blender/source/blender/compositor/operations/COM_CompositorOperation.h
===================================================================
--- trunk/blender/source/blender/compositor/operations/COM_CompositorOperation.h	2012-08-01 14:37:13 UTC (rev 49454)
+++ trunk/blender/source/blender/compositor/operations/COM_CompositorOperation.h	2012-08-01 14:48:46 UTC (rev 49455)
@@ -25,13 +25,14 @@
 #include "COM_NodeOperation.h"
 #include "DNA_scene_types.h"
 #include "BLI_rect.h"
+#include "BLI_string.h"
 
 /**
  * @brief Compositor output operation
  */
 class CompositorOperation : public NodeOperation {
 private:
-	const Scene *m_scene;
+	char m_sceneName[MAX_ID_NAME];
 
 	/**
 	 * @brief local reference to the scene
@@ -65,7 +66,7 @@
 public:
 	CompositorOperation();
 	void executeRegion(rcti *rect, unsigned int tileNumber);
-	void setScene(const Scene *scene) { this->m_scene = scene; }
+	void setSceneName(const char *sceneName) { BLI_strncpy(this->m_sceneName, sceneName, sizeof(this->m_sceneName)); }
 	void setRenderData(const RenderData *rd) { this->m_rd = rd; }
 	bool isOutputOperation(bool rendering) const { return true; }
 	void initExecution();




More information about the Bf-blender-cvs mailing list