[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56140] trunk/blender/source/blender/ editors/space_node/node_templates.c: A few fixes for recent own commit r56133.
Lukas Toenne
lukas.toenne at googlemail.com
Thu Apr 18 15:16:38 CEST 2013
Revision: 56140
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56140
Author: lukastoenne
Date: 2013-04-18 13:16:38 +0000 (Thu, 18 Apr 2013)
Log Message:
-----------
A few fixes for recent own commit r56133.
* Index was assigned after increment, leading to NULL pointer access later on when looking up socket from list
* Copying default_value requires a valid NULL pointer for clean check
* Was using default_values as parameters instead of sockets, void pointers just passed through without warning ...
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56133
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_node/node_templates.c
Modified: trunk/blender/source/blender/editors/space_node/node_templates.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_templates.c 2013-04-18 12:43:30 UTC (rev 56139)
+++ trunk/blender/source/blender/editors/space_node/node_templates.c 2013-04-18 13:16:38 UTC (rev 56140)
@@ -246,9 +246,11 @@
nodeRemLink(ntree, link);
}
- if (sock_from->default_value)
+ if (sock_from->default_value) {
MEM_freeN(sock_from->default_value);
- node_socket_copy_default_value(sock_from->default_value, sock_prev->default_value);
+ sock_from->default_value = NULL;
+ }
+ node_socket_copy_default_value(sock_from, sock_prev);
}
}
}
@@ -313,8 +315,8 @@
ListBase *lb = (in_out == SOCK_IN ? &ngroup->inputs : &ngroup->outputs);
bNodeSocket *stemp;
int index;
- for (stemp = lb->first, index = 0; stemp; stemp = stemp->next, ++index) {
- NodeLinkItem *item = &items[i++];
+ for (stemp = lb->first, index = 0; stemp; stemp = stemp->next, ++index, ++i) {
+ NodeLinkItem *item = &items[i];
item->socket_index = index;
/* note: int stemp->type is not fully reliable, not used for node group
@@ -340,8 +342,8 @@
items = MEM_callocN(sizeof(NodeLinkItem) * totitems, "ui node link items");
i = 0;
- for (stemp = socket_templates; stemp && stemp->type != -1; ++stemp) {
- NodeLinkItem *item = &items[i++];
+ for (stemp = socket_templates; stemp && stemp->type != -1; ++stemp, ++i) {
+ NodeLinkItem *item = &items[i];
item->socket_index = i;
item->socket_type = stemp->type;
More information about the Bf-blender-cvs
mailing list