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:
authorTon Roosendaal <ton@blender.org>2009-01-10 17:19:14 +0300
committerTon Roosendaal <ton@blender.org>2009-01-10 17:19:14 +0300
commitdd97c080062bfa01883f6d6e9f2f6c0b8a0ba8c1 (patch)
tree6ffe875d47aafc0a8d7dea9c45e94ee25f35589a /source/blender/blenkernel
parenta7932f745243e5cb0192ec6bbef58dcea34faf0f (diff)
2.5
- Weightpaint back (CTRL+TAB or menu) Also weightpaint is sortof non-modal, allowing to use all existing hotkeys while in paint mode. Only leftmouse is overridden. - Made vpaint and wpaint entirely local, stored in scene (and saved!) - Small bugfix (also in 2.48): on weightpaint mode, all armature objects in 3d window were drawing as active poses. Now only the armature deformer is. Nice point for the UI agenda: are paint modes on ACTION mouse? Only then you can combine it with SELECT mouse...
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c13
-rw-r--r--source/blender/blenkernel/intern/scene.c7
2 files changed, 13 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index d160c75a03b..063a0e4a31f 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -2054,15 +2054,16 @@ static void mesh_build_data(Scene *scene, Object *ob, CustomDataMask dataMask)
{
Mesh *me = ob->data;
float min[3], max[3];
- int needMapping= 0; //
+ //int needMapping= 0;
+
+ Object *obact = scene->basact?scene->basact->object:NULL;
+ int editing = (FACESEL_PAINT_TEST)|(G.f & G_PARTICLEEDIT);
+ int needMapping = editing && (ob==obact);
clear_mesh_caches(ob);
-// XXX Object *obact = scene->basact?scene->basact->object:NULL;
-// int editing = (FACESEL_PAINT_TEST)|(G.f & G_PARTICLEEDIT);
-// int needMapping = editing && (ob==obact);
-// if( (G.f & G_WEIGHTPAINT) && ob==obact ) {
- if(dataMask & CD_MASK_WEIGHTPAINT) {
+ if( (G.f & G_WEIGHTPAINT) && ob==obact ) {
+// if(dataMask & CD_MASK_WEIGHTPAINT) {
MCol *wpcol = (MCol*)calc_weightpaint_colors(ob);
int layernum = CustomData_number_of_layers(&me->fdata, CD_MCOL);
int prevactive = CustomData_get_active_layer(&me->fdata, CD_MCOL);
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 91783a3c85f..3fc1d2a6103 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -167,7 +167,12 @@ void free_scene(Scene *sce)
BLI_freelistN(&sce->transform_spaces);
BLI_freelistN(&sce->r.layers);
- if(sce->toolsettings){
+ if(sce->toolsettings) {
+ if(sce->toolsettings->vpaint)
+ MEM_freeN(sce->toolsettings->vpaint);
+ if(sce->toolsettings->wpaint)
+ MEM_freeN(sce->toolsettings->wpaint);
+
MEM_freeN(sce->toolsettings);
sce->toolsettings = NULL;
}