[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51170] trunk/blender/source/blender/ blenkernel/intern/node.c: Do not use nodeLabel() to generate new nodes' names, this is an UI func returning translated strings, which should never get into data.

Bastien Montagne montagne29 at wanadoo.fr
Mon Oct 8 09:40:57 CEST 2012


Revision: 51170
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51170
Author:   mont29
Date:     2012-10-08 07:40:57 +0000 (Mon, 08 Oct 2012)
Log Message:
-----------
Do not use nodeLabel() to generate new nodes' names, this is an UI func returning translated strings, which should never get into data. And it may generates dummy names in some situations (like all new Filter nodes were getting "Soften" as name (default option), better to always get "Filter" in this case!).

(Note for Lockal: also checked fcurves/drivers, but those names are directly taken from RNA prop name, hence they are as UI label, translated in the current language, but not stored in data. So no problem here ;) ).

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/node.c

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2012-10-08 07:08:29 UTC (rev 51169)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2012-10-08 07:40:57 UTC (rev 51170)
@@ -326,10 +326,13 @@
 		ntype->initfunc(ntree, node, ntemp);
 
 	/* initialize the node name with the node label.
-	 * note: do this after the initfunc so nodes get
-	 * their data set which may be used in naming
+	 * note: do this after the initfunc so nodes get their data set which may be used in naming
 	 * (node groups for example) */
-	BLI_strncpy(node->name, nodeLabel(node), NODE_MAXSTR);
+	/* XXX Do not use nodeLabel() here, it returns translated content, which should *only* be used
+	 *     in UI, *never* in data...
+	 *     This solution may be a bit rougher than nodeLabel()'s returned string, but it's simpler
+	 *     than adding a "no translate" flag to this func (and labelfunc() as well). */
+	BLI_strncpy(node->name, node->typeinfo->name, NODE_MAXSTR);
 	nodeUniqueName(ntree, node);
 	
 	ntree->update |= NTREE_UPDATE_NODES;




More information about the Bf-blender-cvs mailing list