[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13567] trunk/blender/source/blender:
Brecht Van Lommel
brechtvanlommel at pandora.be
Mon Feb 4 22:17:16 CET 2008
Revision: 13567
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13567
Author: blendix
Date: 2008-02-04 22:17:15 +0100 (Mon, 04 Feb 2008)
Log Message:
-----------
Bugfix for recent alphaover premul commit, crashed existing files
and on adding a new node, maybe the commit was incomplete?
Modified Paths:
--------------
trunk/blender/source/blender/blenloader/intern/readfile.c
trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c
Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c 2008-02-04 19:59:31 UTC (rev 13566)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c 2008-02-04 21:17:15 UTC (rev 13567)
@@ -4633,6 +4633,26 @@
}
}
+static void ntree_version_245(bNodeTree *ntree)
+{
+ bNode *node;
+ NodeTwoFloats *ntf;
+
+ if(ntree->type==NTREE_COMPOSIT) {
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type == CMP_NODE_ALPHAOVER) {
+ if(!node->storage) {
+ ntf= MEM_callocN(sizeof(NodeTwoFloats), "NodeTwoFloats");
+ node->storage= ntf;
+ if(node->custom1)
+ ntf->x= 1.0f;
+ }
+ }
+ }
+ }
+}
+
+
static void do_versions(FileData *fd, Library *lib, Main *main)
{
/* WATCH IT!!!: pointers from libdata have not been converted */
@@ -6789,6 +6809,7 @@
ParticleSettings *part;
World *wrld;
Mesh *me;
+ bNodeTree *ntree;
/* unless the file was created 2.44.3 but not 2.45, update the constraints */
if ( !(main->versionfile==244 && main->subversionfile==3) &&
@@ -6973,6 +6994,13 @@
wrld->ao_approx_error= 0.25f;
}
+ for(sce= main->scene.first; sce; sce= sce->id.next)
+ if(sce->nodetree)
+ ntree_version_245(sce->nodetree);
+
+ for(ntree=main->nodetree.first; ntree; ntree= ntree->id.next)
+ ntree_version_245(sce->nodetree);
+
if (main->versionfile < 245 || main->subversionfile < 12)
{
/* initialize skeleton generation toolsettings */
Modified: trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c
===================================================================
--- trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c 2008-02-04 19:59:31 UTC (rev 13566)
+++ trunk/blender/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c 2008-02-04 21:17:15 UTC (rev 13567)
@@ -135,6 +135,11 @@
}
}
+static void node_alphaover_init(bNode* node)
+{
+ node->storage= MEM_callocN(sizeof(NodeTwoFloats), "NodeTwoFloats");
+}
+
bNodeType cmp_node_alphaover= {
/* *next,*prev */ NULL, NULL,
/* type code */ CMP_NODE_ALPHAOVER,
@@ -146,7 +151,7 @@
/* storage */ "NodeTwoFloats",
/* execfunc */ node_composit_exec_alphaover,
/* butfunc */ NULL,
- /* initfunc */ NULL,
+ /* initfunc */ node_alphaover_init,
/* freestoragefunc */ node_free_standard_storage,
/* copystoragefunc */ node_copy_standard_storage,
/* id */ NULL
More information about the Bf-blender-cvs
mailing list