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:
authorNicholas Bishop <nicholasbishop@gmail.com>2009-08-16 00:36:15 +0400
committerNicholas Bishop <nicholasbishop@gmail.com>2009-08-16 00:36:15 +0400
commite182d653709a9abd664deaa874f0727ebba83832 (patch)
treea91df79e87cc7d7d919a7f4bc8d0e4fc6d78c24d /source/blender/blenkernel/intern
parent2b3d2b72ea157a218e1a6e49759e64de77f99850 (diff)
2.5/Vertex paint:
* Made vertex paint local to object, like sculpt mode. * New test for vertex paint is (ob->mode & OB_MODE_VERTEX_PAINT)
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r--source/blender/blenkernel/intern/blender.c2
-rw-r--r--source/blender/blenkernel/intern/brush.c12
-rw-r--r--source/blender/blenkernel/intern/context.c2
-rw-r--r--source/blender/blenkernel/intern/paint.c2
4 files changed, 11 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c
index 2e4e5596450..3f20d379748 100644
--- a/source/blender/blenkernel/intern/blender.c
+++ b/source/blender/blenkernel/intern/blender.c
@@ -226,7 +226,7 @@ static void clear_global(void)
G.main= NULL;
- G.f &= ~(G_WEIGHTPAINT + G_VERTEXPAINT + G_FACESELECT + G_PARTICLEEDIT);
+ G.f &= ~(G_WEIGHTPAINT + G_FACESELECT + G_PARTICLEEDIT);
}
/* make sure path names are correct for OS */
diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c
index eddca8d0073..392872dafd1 100644
--- a/source/blender/blenkernel/intern/brush.c
+++ b/source/blender/blenkernel/intern/brush.c
@@ -188,10 +188,14 @@ void make_local_brush(Brush *brush)
Brush **current_brush_source(Scene *sce)
{
- if(sce->basact && sce->basact->object->mode & OB_MODE_SCULPT)
- return &sce->toolsettings->sculpt->brush;
- else if(G.f & G_VERTEXPAINT)
- return &sce->toolsettings->vpaint->brush;
+ Object *ob = sce->basact ? sce->basact->object : NULL;
+
+ if(ob) {
+ if(ob->mode & OB_MODE_SCULPT)
+ return &sce->toolsettings->sculpt->brush;
+ else if(ob->mode & OB_MODE_VERTEX_PAINT)
+ return &sce->toolsettings->vpaint->brush;
+ }
else if(G.f & G_WEIGHTPAINT)
return &sce->toolsettings->wpaint->brush;
else if(G.f & G_TEXTUREPAINT)
diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c
index 280ea6eca53..ba06768b12a 100644
--- a/source/blender/blenkernel/intern/context.c
+++ b/source/blender/blenkernel/intern/context.c
@@ -689,7 +689,7 @@ char *CTX_data_mode_string(const bContext *C)
if(ob && (ob->flag & OB_POSEMODE)) return "posemode";
else if (ob && ob->mode & OB_MODE_SCULPT) return "sculpt_mode";
else if (G.f & G_WEIGHTPAINT) return "weightpaint";
- else if (G.f & G_VERTEXPAINT) return "vertexpaint";
+ else if (ob && ob->mode & OB_MODE_VERTEX_PAINT) return "vertexpaint";
else if (G.f & G_TEXTUREPAINT) return "texturepaint";
else if(G.f & G_PARTICLEEDIT) return "particlemode";
}
diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c
index a42581f3a76..e945c218217 100644
--- a/source/blender/blenkernel/intern/paint.c
+++ b/source/blender/blenkernel/intern/paint.c
@@ -32,6 +32,6 @@
int paint_facesel_test(Object *ob)
{
- return (G.f&G_FACESELECT) && (G.f & (G_VERTEXPAINT|G_WEIGHTPAINT|G_TEXTUREPAINT));
+ return (G.f&G_FACESELECT) && ((G.f & (G_WEIGHTPAINT|G_TEXTUREPAINT)) || (ob && (ob->mode & OB_MODE_VERTEX_PAINT)));
}