[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