Revision: 42295
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42295
Author: campbellbarton
Date: 2011-11-30 11:16:33 +0000 (Wed, 30 Nov 2011)
Log Message:
-----------
cellalloc wasnt being used for deform weights when it should have been, checked
all uses of MDeformWeight's to make sure this is ok.
Modified Paths:
--------------
branches/bmesh/blender/source/blender/editors/sculpt_paint/paint_vertex.c
branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvg_util.c
Modified:
branches/bmesh/blender/source/blender/editors/sculpt_paint/paint_vertex.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/sculpt_paint/paint_vertex.c
2011-11-30 11:04:57 UTC (rev 42294)
+++ branches/bmesh/blender/source/blender/editors/sculpt_paint/paint_vertex.c
2011-11-30 11:16:33 UTC (rev 42295)
@@ -46,6 +46,7 @@
#include "BLI_memarena.h"
#include "BLI_utildefines.h"
#include "BLI_ghash.h"
+#include "BLI_cellalloc.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
@@ -1546,7 +1547,7 @@
MDeformVert *dv= &me->dvert[index];
MDeformVert dv_test= {NULL};
- dv_test.dw= MEM_dupallocN(dv->dw);
+ dv_test.dw= BLI_cellalloc_dupalloc(dv->dw);
dv_test.flag = dv->flag;
dv_test.totweight = dv->totweight;
/* do not multi-paint if a locked group is selected or the active group
is locked
@@ -1574,19 +1575,19 @@
if(tdw->weight != oldw) {
if(neww > oldw) {
if(tdw->weight <= oldw) {
- MEM_freeN(dv_test.dw);
+ BLI_cellalloc_free(dv_test.dw);
return TRUE;
}
}
else {
if(tdw->weight >= oldw) {
- MEM_freeN(dv_test.dw);
+ BLI_cellalloc_free(dv_test.dw);
return TRUE;
}
}
}
}
- MEM_freeN(dv_test.dw);
+ BLI_cellalloc_free(dv_test.dw);
return FALSE;
}
@@ -1677,7 +1678,7 @@
/* setup multi-paint */
if(wpi->defbase_tot_sel > 1 && wpi->do_multipaint) {
- dv_copy.dw= MEM_dupallocN(dv->dw);
+ dv_copy.dw= BLI_cellalloc_dupalloc(dv->dw);
dv_copy.flag = dv->flag;
dv_copy.totweight = dv->totweight;
tdw = dw;
@@ -1731,7 +1732,7 @@
oldChange = 0;
}
if(dv_copy.dw) {
- MEM_freeN(dv_copy.dw);
+ BLI_cellalloc_free(dv_copy.dw);
}
#if 0
/* dv may have been altered greatly */
Modified:
branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvg_util.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvg_util.c
2011-11-30 11:04:57 UTC (rev 42294)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_weightvg_util.c
2011-11-30 11:16:33 UTC (rev 42295)
@@ -32,6 +32,7 @@
#include "BLI_rand.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
+#include "BLI_cellalloc.h"
#include "DNA_color_types.h" /* CurveMapping. */
#include "DNA_mesh_types.h"
@@ -229,10 +230,10 @@
* groups have already been checked, so this has to remain low level. */
MDeformWeight *newdw;
- newdw = MEM_callocN(sizeof(MDeformWeight)*(dv->totweight+1),
"defvert_add_to group, new deformWeight");
+ newdw = BLI_cellalloc_calloc(sizeof(MDeformWeight)*(dv->totweight+1),
"defvert_add_to group, new deformWeight");
if(dv->dw) {
memcpy(newdw, dv->dw, sizeof(MDeformWeight)*dv->totweight);
- MEM_freeN(dv->dw);
+ BLI_cellalloc_free(dv->dw);
}
dv->dw = newdw;
dv->dw[dv->totweight].weight = weight;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs