[Bf-blender-cvs] [fd88ce4] master: Fix T37407: removing cd-layer didn't set the active layer correctly

Campbell Barton noreply at git.blender.org
Fri Nov 29 05:26:40 CET 2013


Commit: fd88ce4d731e59d8880e32a84af153ee6d251cca
Author: Campbell Barton
Date:   Fri Nov 29 15:23:22 2013 +1100
http://developer.blender.org/rBfd88ce4d731e59d8880e32a84af153ee6d251cca

Fix T37407: removing cd-layer didn't set the active layer correctly

===================================================================

M	source/blender/blenkernel/intern/customdata.c

===================================================================

diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c
index 7cbcbaf..441a2b4 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++) {




More information about the Bf-blender-cvs mailing list