[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57256] trunk/blender/source/blender/ editors/space_node/node_group.c: Removed the "Make Local?" popup from group node edit operator on linked node groups.

Lukas Toenne lukas.toenne at googlemail.com
Wed Jun 5 21:29:00 CEST 2013


Revision: 57256
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57256
Author:   lukastoenne
Date:     2013-06-05 19:28:59 +0000 (Wed, 05 Jun 2013)
Log Message:
-----------
Removed the "Make Local?" popup from group node edit operator on linked node groups. This is no longer necessary since we can now quite safely display linked node trees in general (this check was already
meaningless for material node trees and the like as demonstrated by bug #35640, so rather pointless).

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

Modified: trunk/blender/source/blender/editors/space_node/node_group.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_group.c	2013-06-05 19:28:58 UTC (rev 57255)
+++ trunk/blender/source/blender/editors/space_node/node_group.c	2013-06-05 19:28:59 UTC (rev 57256)
@@ -69,8 +69,27 @@
 #include "NOD_common.h"
 #include "NOD_socket.h"
 
-static int node_group_operator_poll(bContext *C)
+static int node_group_operator_active(bContext *C)
 {
+	if (ED_operator_node_active(C)) {
+		SpaceNode *snode = CTX_wm_space_node(C);
+		
+		/* Group operators only defined for standard node tree types.
+		 * Disabled otherwise to allow pynodes define their own operators
+		 * with same keymap.
+		 */
+		if (STREQ(snode->tree_idname, "ShaderNodeTree") ||
+		    STREQ(snode->tree_idname, "CompositorNodeTree") ||
+		    STREQ(snode->tree_idname, "TextureNodeTree"))
+		{
+			return true;
+		}
+	}
+	return false;
+}
+
+static int node_group_operator_editable(bContext *C)
+{
 	if (ED_operator_node_editable(C)) {
 		SpaceNode *snode = CTX_wm_space_node(C);
 		
@@ -135,12 +154,8 @@
 	if (gnode && !exit) {
 		bNodeTree *ngroup = (bNodeTree *)gnode->id;
 		
-		if (ngroup) {
-			if (ngroup->id.lib)
-				ntreeMakeLocal(ngroup);
-			
+		if (ngroup)
 			ED_node_tree_push(snode, ngroup, gnode);
-		}
 	}
 	else
 		ED_node_tree_pop(snode);
@@ -150,21 +165,6 @@
 	return OPERATOR_FINISHED;
 }
 
-static int node_group_edit_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
-{
-	const char *node_idname = group_node_idname(C);
-	bNode *gnode;
-	
-	gnode = node_group_get_active(C, node_idname);
-	
-	if (gnode && gnode->id && gnode->id->lib) {
-		WM_operator_confirm_message(C, op, "Make group local?");
-		return OPERATOR_CANCELLED;
-	}
-
-	return node_group_edit_exec(C, op);
-}
-
 void NODE_OT_group_edit(wmOperatorType *ot)
 {
 	/* identifiers */
@@ -173,9 +173,8 @@
 	ot->idname = "NODE_OT_group_edit";
 	
 	/* api callbacks */
-	ot->invoke = node_group_edit_invoke;
 	ot->exec = node_group_edit_exec;
-	ot->poll = node_group_operator_poll;
+	ot->poll = node_group_operator_active;
 	
 	/* flags */
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -385,7 +384,7 @@
 	
 	/* api callbacks */
 	ot->exec = node_group_ungroup_exec;
-	ot->poll = node_group_operator_poll;
+	ot->poll = node_group_operator_editable;
 	
 	/* flags */
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -588,7 +587,7 @@
 	/* api callbacks */
 	ot->invoke = node_group_separate_invoke;
 	ot->exec = node_group_separate_exec;
-	ot->poll = node_group_operator_poll;
+	ot->poll = node_group_operator_editable;
 	
 	/* flags */
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -953,7 +952,7 @@
 	
 	/* api callbacks */
 	ot->exec = node_group_make_exec;
-	ot->poll = node_group_operator_poll;
+	ot->poll = node_group_operator_editable;
 	
 	/* flags */
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
@@ -1004,7 +1003,7 @@
 	
 	/* api callbacks */
 	ot->exec = node_group_insert_exec;
-	ot->poll = node_group_operator_poll;
+	ot->poll = node_group_operator_editable;
 	
 	/* flags */
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;




More information about the Bf-blender-cvs mailing list