diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-11-29 08:23:22 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-11-29 08:26:17 +0400 |
commit | fd88ce4d731e59d8880e32a84af153ee6d251cca (patch) | |
tree | 7effdb9e68493baae77cca456d2f33273d7cbad0 /source/blender | |
parent | 57b3878efb17e0f43b465124e581e72b16da3346 (diff) |
Fix T37407: removing cd-layer didn't set the active layer correctly
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/customdata.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c index 7cbcbaf909a..441a2b410ad 100644 --- a/source/blender/blenkernel/intern/customdata.c +++ b/source/blender/blenkernel/intern/customdata.c @@ -1751,6 +1751,7 @@ void *CustomData_add_layer_named(CustomData *data, int type, int alloctype, bool CustomData_free_layer(CustomData *data, int type, int totelem, int index) { + const int n = index - CustomData_get_layer_index(data, type); int i; if (index < 0) return 0; @@ -1767,7 +1768,7 @@ bool CustomData_free_layer(CustomData *data, int type, int totelem, int index) if (i != -1) { /* don't decrement zero index */ - const int index_nonzero = index ? index : 1; + const int index_nonzero = n ? n : 1; CustomDataLayer *layer; for (layer = &data->layers[i]; i < data->totlayer && layer->type == type; i++, layer++) { |