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:
authorCampbell Barton <ideasman42@gmail.com>2013-07-15 13:03:28 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-07-15 13:03:28 +0400
commitdc591a633e73452f0a22d00c23b29453f7c04724 (patch)
tree92368c6a167ed46262bd3c6ce1c81d3ae012f3c4 /source/blender/blenkernel/intern/customdata.c
parent02ba328ca8a4f606deaed531274b93ed7aa8ea6f (diff)
previous commit r58256, had error in editmode (somehow it worked in most tests still).
also don't decrement active indices below zero (also a problem in 2.67).
Diffstat (limited to 'source/blender/blenkernel/intern/customdata.c')
-rw-r--r--source/blender/blenkernel/intern/customdata.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c
index c25cda3829e..e08474e22c9 100644
--- a/source/blender/blenkernel/intern/customdata.c
+++ b/source/blender/blenkernel/intern/customdata.c
@@ -1732,12 +1732,15 @@ bool CustomData_free_layer(CustomData *data, int type, int totelem, int index)
i = CustomData_get_layer_index__notypemap(data, type);
if (i != -1) {
+ /* don't decrement zero index */
+ const int index_nonzero = index ? index : 1;
CustomDataLayer *layer;
+
for (layer = &data->layers[i]; i < data->totlayer && layer->type == type; i++, layer++) {
- if (layer->active >= index) layer->active--;
- if (layer->active_rnd >= index) layer->active_rnd--;
- if (layer->active_clone >= index) layer->active_clone--;
- if (layer->active_mask >= index) layer->active_mask--;
+ if (layer->active >= index_nonzero) layer->active--;
+ if (layer->active_rnd >= index_nonzero) layer->active_rnd--;
+ if (layer->active_clone >= index_nonzero) layer->active_clone--;
+ if (layer->active_mask >= index_nonzero) layer->active_mask--;
}
}