[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42121] trunk/blender/source/blender/ editors/space_node/node_draw.c: Fix for wrong event clipping in open node groups (bug #29383).

Lukas Toenne lukas.toenne at googlemail.com
Thu Nov 24 10:26:25 CET 2011


Revision: 42121
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42121
Author:   lukastoenne
Date:     2011-11-24 09:26:19 +0000 (Thu, 24 Nov 2011)
Log Message:
-----------
Fix for wrong event clipping in open node groups (bug #29383). The internal node blocks of the group were created before the group node block itself, so the node group block clips events for internal nodes. Generally, blocks should be created just like the drawing order.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_draw.c

Modified: trunk/blender/source/blender/editors/space_node/node_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_draw.c	2011-11-24 06:59:29 UTC (rev 42120)
+++ trunk/blender/source/blender/editors/space_node/node_draw.c	2011-11-24 09:26:19 UTC (rev 42121)
@@ -933,15 +933,16 @@
 	if(snode->nodetree) {
 		bNode *node;
 		
-		/* init ui blocks for opened node group trees first 
-		 * so they're in the correct depth stack order */
+		node_uiblocks_init(C, snode->nodetree);
+		
+		/* uiBlocks must be initialized in drawing order for correct event clipping.
+		 * Node group internal blocks added after the main group block.
+		 */
 		for(node= snode->nodetree->nodes.first; node; node= node->next) {
 			if(node->flag & NODE_GROUP_EDIT)
 				node_uiblocks_init(C, (bNodeTree *)node->id);
 		}
 		
-		node_uiblocks_init(C, snode->nodetree);
-		
 		node_update_nodetree(C, snode->nodetree, 0.0f, 0.0f);
 		node_draw_nodetree(C, ar, snode, snode->nodetree);
 		




More information about the Bf-blender-cvs mailing list