diff options
author | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-11-12 22:17:58 +0400 |
---|---|---|
committer | Lukas Toenne <lukas.toenne@googlemail.com> | 2013-11-12 22:17:58 +0400 |
commit | 8663b940eda703c45baf664c9aa379a9ecb684f9 (patch) | |
tree | f3f873d4bb7facefe1534799f43b94b464d0a1ab /source/blender/nodes | |
parent | ba7fd8cd5c173730c8c2250eac7ea48fafd519c7 (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.c | 6 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_common.c | 4 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_common.h | 2 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_util.c | 17 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_util.h | 8 |
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); |