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:
Diffstat (limited to 'source/blender/nodes/intern/node_socket.cc')
-rw-r--r--source/blender/nodes/intern/node_socket.cc50
1 files changed, 25 insertions, 25 deletions
diff --git a/source/blender/nodes/intern/node_socket.cc b/source/blender/nodes/intern/node_socket.cc
index d83c05b38a1..6a6b6e3d3cc 100644
--- a/source/blender/nodes/intern/node_socket.cc
+++ b/source/blender/nodes/intern/node_socket.cc
@@ -236,6 +236,14 @@ static void refresh_socket_list(bNodeTree &ntree,
link->tosock = new_socket;
}
}
+ LISTBASE_FOREACH (bNodeLink *, internal_link, &node.internal_links) {
+ if (internal_link->fromsock == old_socket_with_same_identifier) {
+ internal_link->fromsock = new_socket;
+ }
+ else if (internal_link->tosock == old_socket_with_same_identifier) {
+ internal_link->tosock = new_socket;
+ }
+ }
}
}
}
@@ -301,8 +309,7 @@ void node_socket_init_default_value(bNodeSocket *sock)
switch (type) {
case SOCK_FLOAT: {
- bNodeSocketValueFloat *dval = (bNodeSocketValueFloat *)MEM_callocN(
- sizeof(bNodeSocketValueFloat), "node socket value float");
+ bNodeSocketValueFloat *dval = MEM_cnew<bNodeSocketValueFloat>("node socket value float");
dval->subtype = subtype;
dval->value = 0.0f;
dval->min = -FLT_MAX;
@@ -312,8 +319,7 @@ void node_socket_init_default_value(bNodeSocket *sock)
break;
}
case SOCK_INT: {
- bNodeSocketValueInt *dval = (bNodeSocketValueInt *)MEM_callocN(sizeof(bNodeSocketValueInt),
- "node socket value int");
+ bNodeSocketValueInt *dval = MEM_cnew<bNodeSocketValueInt>("node socket value int");
dval->subtype = subtype;
dval->value = 0;
dval->min = INT_MIN;
@@ -323,8 +329,7 @@ void node_socket_init_default_value(bNodeSocket *sock)
break;
}
case SOCK_BOOLEAN: {
- bNodeSocketValueBoolean *dval = (bNodeSocketValueBoolean *)MEM_callocN(
- sizeof(bNodeSocketValueBoolean), "node socket value bool");
+ bNodeSocketValueBoolean *dval = MEM_cnew<bNodeSocketValueBoolean>("node socket value bool");
dval->value = false;
sock->default_value = dval;
@@ -332,8 +337,7 @@ void node_socket_init_default_value(bNodeSocket *sock)
}
case SOCK_VECTOR: {
static float default_value[] = {0.0f, 0.0f, 0.0f};
- bNodeSocketValueVector *dval = (bNodeSocketValueVector *)MEM_callocN(
- sizeof(bNodeSocketValueVector), "node socket value vector");
+ bNodeSocketValueVector *dval = MEM_cnew<bNodeSocketValueVector>("node socket value vector");
dval->subtype = subtype;
copy_v3_v3(dval->value, default_value);
dval->min = -FLT_MAX;
@@ -344,16 +348,14 @@ void node_socket_init_default_value(bNodeSocket *sock)
}
case SOCK_RGBA: {
static float default_value[] = {0.0f, 0.0f, 0.0f, 1.0f};
- bNodeSocketValueRGBA *dval = (bNodeSocketValueRGBA *)MEM_callocN(
- sizeof(bNodeSocketValueRGBA), "node socket value color");
+ bNodeSocketValueRGBA *dval = MEM_cnew<bNodeSocketValueRGBA>("node socket value color");
copy_v4_v4(dval->value, default_value);
sock->default_value = dval;
break;
}
case SOCK_STRING: {
- bNodeSocketValueString *dval = (bNodeSocketValueString *)MEM_callocN(
- sizeof(bNodeSocketValueString), "node socket value string");
+ bNodeSocketValueString *dval = MEM_cnew<bNodeSocketValueString>("node socket value string");
dval->subtype = subtype;
dval->value[0] = '\0';
@@ -361,40 +363,38 @@ void node_socket_init_default_value(bNodeSocket *sock)
break;
}
case SOCK_OBJECT: {
- bNodeSocketValueObject *dval = (bNodeSocketValueObject *)MEM_callocN(
- sizeof(bNodeSocketValueObject), "node socket value object");
+ bNodeSocketValueObject *dval = MEM_cnew<bNodeSocketValueObject>("node socket value object");
dval->value = nullptr;
sock->default_value = dval;
break;
}
case SOCK_IMAGE: {
- bNodeSocketValueImage *dval = (bNodeSocketValueImage *)MEM_callocN(
- sizeof(bNodeSocketValueImage), "node socket value image");
+ bNodeSocketValueImage *dval = MEM_cnew<bNodeSocketValueImage>("node socket value image");
dval->value = nullptr;
sock->default_value = dval;
break;
}
case SOCK_COLLECTION: {
- bNodeSocketValueCollection *dval = (bNodeSocketValueCollection *)MEM_callocN(
- sizeof(bNodeSocketValueCollection), "node socket value object");
+ bNodeSocketValueCollection *dval = MEM_cnew<bNodeSocketValueCollection>(
+ "node socket value object");
dval->value = nullptr;
sock->default_value = dval;
break;
}
case SOCK_TEXTURE: {
- bNodeSocketValueTexture *dval = (bNodeSocketValueTexture *)MEM_callocN(
- sizeof(bNodeSocketValueTexture), "node socket value texture");
+ bNodeSocketValueTexture *dval = MEM_cnew<bNodeSocketValueTexture>(
+ "node socket value texture");
dval->value = nullptr;
sock->default_value = dval;
break;
}
case SOCK_MATERIAL: {
- bNodeSocketValueMaterial *dval = (bNodeSocketValueMaterial *)MEM_callocN(
- sizeof(bNodeSocketValueMaterial), "node socket value material");
+ bNodeSocketValueMaterial *dval = MEM_cnew<bNodeSocketValueMaterial>(
+ "node socket value material");
dval->value = nullptr;
sock->default_value = dval;
@@ -629,7 +629,7 @@ static bNodeSocketType *make_standard_socket_type(int type, int subtype)
bNodeSocketType *stype;
StructRNA *srna;
- stype = (bNodeSocketType *)MEM_callocN(sizeof(bNodeSocketType), "node socket C type");
+ stype = MEM_cnew<bNodeSocketType>("node socket C type");
stype->free_self = (void (*)(bNodeSocketType * stype)) MEM_freeN;
BLI_strncpy(stype->idname, socket_idname, sizeof(stype->idname));
BLI_strncpy(stype->label, socket_label, sizeof(stype->label));
@@ -673,7 +673,7 @@ static bNodeSocketType *make_socket_type_virtual()
bNodeSocketType *stype;
StructRNA *srna;
- stype = (bNodeSocketType *)MEM_callocN(sizeof(bNodeSocketType), "node socket C type");
+ stype = MEM_cnew<bNodeSocketType>("node socket C type");
stype->free_self = (void (*)(bNodeSocketType * stype)) MEM_freeN;
BLI_strncpy(stype->idname, socket_idname, sizeof(stype->idname));
@@ -872,7 +872,7 @@ static bNodeSocketType *make_socket_type_material()
return socktype;
}
-void register_standard_node_socket_types(void)
+void register_standard_node_socket_types()
{
/* Draw callbacks are set in `drawnode.c` to avoid bad-level calls. */