[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11939] trunk/blender/source/blender/src/ drawnode.c: Fix for bug [#7135] Compositor crash when adding a time node:

Juho Vepsalainen bebraw at gmail.com
Tue Sep 4 19:42:34 CEST 2007


Revision: 11939
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11939
Author:   bebraw
Date:     2007-09-04 19:42:33 +0200 (Tue, 04 Sep 2007)

Log Message:
-----------
Fix for bug [#7135] Compositor crash when adding a time node:
This commit replaces the old function used to draw time node
user interface with new one. This should fix the issue. The
function can later be reused time node for material node 
system.

Modified Paths:
--------------
    trunk/blender/source/blender/src/drawnode.c

Modified: trunk/blender/source/blender/src/drawnode.c
===================================================================
--- trunk/blender/source/blender/src/drawnode.c	2007-09-04 15:53:22 UTC (rev 11938)
+++ trunk/blender/source/blender/src/drawnode.c	2007-09-04 17:42:33 UTC (rev 11939)
@@ -337,6 +337,31 @@
 	return 20;
 }
 
+static int node_buts_time(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr)
+{
+	if(block) {
+		CurveMapping *cumap= node->storage;
+		short dx= (short)((butr->xmax-butr->xmin)/2);
+		butr->ymin += 26;
+
+		curvemap_buttons(block, node->storage, 's', B_NODE_EXEC+node->nr, B_REDR, butr);
+		
+		if(cumap) cumap->flag |= CUMA_DRAW_CFRA;
+		if(node->custom1<node->custom2)
+			cumap->black[0]= (float)(CFRA - node->custom1)/(float)(node->custom2-node->custom1);
+
+		uiBlockBeginAlign(block);
+		uiDefButS(block, NUM, B_NODE_EXEC+node->nr, "Sta:",
+				  butr->xmin, butr->ymin-22, dx, 19, 
+				  &node->custom1, 1.0, 20000.0, 0, 0, "Start frame");
+		uiDefButS(block, NUM, B_NODE_EXEC+node->nr, "End:",
+				  butr->xmin+dx, butr->ymin-22, dx, 19, 
+				  &node->custom2, 1.0, 20000.0, 0, 0, "End frame");
+	}
+	
+	return node->width-NODE_DY;
+}
+
 static int node_buts_valtorgb(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr)
 {
 	if(block) {
@@ -1202,35 +1227,6 @@
 	return 80;
 }
 
-static int node_composit_buts_time(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr)
-{
-	if(block) {
-		CurveMapping *cumap= node->storage;
-		short dx= (butr->xmax-butr->xmin)/2;
-		rctf *curvebutr;
-		
-		memcpy(&curvebutr, &butr, sizeof(rctf));
-		curvebutr->ymin += 26;
-		
-		curvemap_buttons(block, node->storage, 's', B_NODE_EXEC+node->nr, B_REDR, curvebutr);
-		
-		cumap->flag |= CUMA_DRAW_CFRA;
-		if(node->custom1<node->custom2)
-			cumap->black[0]= (float)(CFRA - node->custom1)/(float)(node->custom2-node->custom1);
-		
-		uiBlockBeginAlign(block);
-		uiDefButS(block, NUM, B_NODE_EXEC+node->nr, "Sta:",
-				  butr->xmin, butr->ymin-22, dx, 19, 
-				  &node->custom1, 1.0, 20000.0, 0, 0, "Start frame");
-		uiDefButS(block, NUM, B_NODE_EXEC+node->nr, "End:",
-				  butr->xmin+dx, butr->ymin-22, dx, 19, 
-				  &node->custom2, 1.0, 20000.0, 0, 0, "End frame");
-		
-	}
-	
-	return node->width-NODE_DY;
-}
-
 static int node_composit_buts_alphaover(uiBlock *block, bNodeTree *ntree, bNode *node, rctf *butr)
 {
 	if(block) {
@@ -1635,7 +1631,7 @@
 			ntype->butfunc= node_composit_buts_map_value;
 			break;
 		case CMP_NODE_TIME:
-			ntype->butfunc= node_composit_buts_time;
+			ntype->butfunc= node_buts_time;
 			break;
 		case CMP_NODE_ALPHAOVER:
 			ntype->butfunc= node_composit_buts_alphaover;





More information about the Bf-blender-cvs mailing list