Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Toenne <lukas.toenne@googlemail.com>2013-11-12 22:17:58 +0400
committerLukas Toenne <lukas.toenne@googlemail.com>2013-11-12 22:17:58 +0400
commit8663b940eda703c45baf664c9aa379a9ecb684f9 (patch)
treef3f873d4bb7facefe1534799f43b94b464d0a1ab /source/blender/nodes
parentba7fd8cd5c173730c8c2250eac7ea48fafd519c7 (diff)
Instead of requiring a const char* return from the (optional) node label callback function, let it write into a mutable string buffer. This will allow actual dynamic labels for nodes using the python
API.
Diffstat (limited to 'source/blender/nodes')
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_moviedistortion.c6
-rw-r--r--source/blender/nodes/intern/node_common.c4
-rw-r--r--source/blender/nodes/intern/node_common.h2
-rw-r--r--source/blender/nodes/intern/node_util.c17
-rw-r--r--source/blender/nodes/intern/node_util.h8
5 files changed, 19 insertions, 18 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c b/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c
index b110cffd080..4d4781a4ffa 100644
--- a/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c
+++ b/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c
@@ -48,12 +48,12 @@ static bNodeSocketTemplate cmp_node_moviedistortion_out[] = {
{ -1, 0, "" }
};
-static const char *label(bNode *node)
+static void label(bNode *node, char *label, int maxlen)
{
if (node->custom1 == 0)
- return IFACE_("Undistortion");
+ BLI_strncpy(label, IFACE_("Undistortion"), maxlen);
else
- return IFACE_("Distortion");
+ BLI_strncpy(label, IFACE_("Distortion"), maxlen);
}
static void init(const bContext *C, PointerRNA *ptr)
diff --git a/source/blender/nodes/intern/node_common.c b/source/blender/nodes/intern/node_common.c
index a8133460628..c5f98ea64bd 100644
--- a/source/blender/nodes/intern/node_common.c
+++ b/source/blender/nodes/intern/node_common.c
@@ -82,9 +82,9 @@ bNodeSocket *node_group_find_output_socket(bNode *groupnode, const char *identif
}
/* groups display their internal tree name as label */
-const char *node_group_label(bNode *node)
+void node_group_label(bNode *node, char *label, int maxlen)
{
- return (node->id) ? node->id->name + 2 : IFACE_("Missing Datablock");
+ BLI_strncpy(label, (node->id) ? node->id->name + 2 : IFACE_("Missing Datablock"), maxlen);
}
int node_group_poll_instance(bNode *node, bNodeTree *nodetree)
diff --git a/source/blender/nodes/intern/node_common.h b/source/blender/nodes/intern/node_common.h
index 498da607b91..8c7cefedee6 100644
--- a/source/blender/nodes/intern/node_common.h
+++ b/source/blender/nodes/intern/node_common.h
@@ -37,7 +37,7 @@
struct bNodeTree;
-const char *node_group_label(struct bNode *node);
+void node_group_label(struct bNode *node, char *label, int maxlen);
int node_group_poll_instance(struct bNode *node, struct bNodeTree *nodetree);
void ntree_update_reroute_nodes(struct bNodeTree *ntree);
diff --git a/source/blender/nodes/intern/node_util.c b/source/blender/nodes/intern/node_util.c
index e77f0a08331..0820c2acd50 100644
--- a/source/blender/nodes/intern/node_util.c
+++ b/source/blender/nodes/intern/node_util.c
@@ -36,6 +36,7 @@
#include "DNA_node_types.h"
#include "BLI_listbase.h"
+#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLF_translation.h"
@@ -82,32 +83,32 @@ void *node_initexec_curves(bNodeExecContext *UNUSED(context), bNode *node, bNode
/**** Labels ****/
-const char *node_blend_label(bNode *node)
+void node_blend_label(bNode *node, char *label, int maxlen)
{
const char *name;
RNA_enum_name(ramp_blend_items, node->custom1, &name);
- return IFACE_(name);
+ BLI_strncpy(label, IFACE_(name), maxlen);
}
-const char *node_math_label(bNode *node)
+void node_math_label(bNode *node, char *label, int maxlen)
{
const char *name;
RNA_enum_name(node_math_items, node->custom1, &name);
- return IFACE_(name);
+ BLI_strncpy(label, IFACE_(name), maxlen);
}
-const char *node_vect_math_label(bNode *node)
+void node_vect_math_label(bNode *node, char *label, int maxlen)
{
const char *name;
RNA_enum_name(node_vec_math_items, node->custom1, &name);
- return IFACE_(name);
+ BLI_strncpy(label, IFACE_(name), maxlen);
}
-const char *node_filter_label(bNode *node)
+void node_filter_label(bNode *node, char *label, int maxlen)
{
const char *name;
RNA_enum_name(node_filter_items, node->custom1, &name);
- return IFACE_(name);
+ BLI_strncpy(label, IFACE_(name), maxlen);
}
void node_update_internal_links_default(bNodeTree *ntree, bNode *node)
diff --git a/source/blender/nodes/intern/node_util.h b/source/blender/nodes/intern/node_util.h
index 2b3f84420f9..03a167cdb1a 100644
--- a/source/blender/nodes/intern/node_util.h
+++ b/source/blender/nodes/intern/node_util.h
@@ -71,10 +71,10 @@ extern void *node_initexec_curves(struct bNodeExecContext *context, struct bNode
/**** Labels ****/
-const char *node_blend_label(struct bNode *node);
-const char *node_math_label(struct bNode *node);
-const char *node_vect_math_label(struct bNode *node);
-const char *node_filter_label(struct bNode *node);
+void node_blend_label(struct bNode *node, char *label, int maxlen);
+void node_math_label(struct bNode *node, char *label, int maxlen);
+void node_vect_math_label(struct bNode *node, char *label, int maxlen);
+void node_filter_label(struct bNode *node, char *label, int maxlen);
void node_update_internal_links_default(struct bNodeTree *ntree, struct bNode *node);