[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57812] trunk/blender/source/blender/ editors/object/object_vgroup.c: Added checks to Vertex Groups panel to respect locked Vertex Groups
Gaia Clary
gaia.clary at machinimatrix.org
Thu Jun 27 08:33:01 CEST 2013
Revision: 57812
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57812
Author: gaiaclary
Date: 2013-06-27 06:33:01 +0000 (Thu, 27 Jun 2013)
Log Message:
-----------
Added checks to Vertex Groups panel to respect locked Vertex Groups
Modified Paths:
--------------
trunk/blender/source/blender/editors/object/object_vgroup.c
Modified: trunk/blender/source/blender/editors/object/object_vgroup.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_vgroup.c 2013-06-27 06:21:10 UTC (rev 57811)
+++ trunk/blender/source/blender/editors/object/object_vgroup.c 2013-06-27 06:33:01 UTC (rev 57812)
@@ -2972,6 +2972,29 @@
vgroup_object_in_wpaint_vert_select(ob));
}
+/* editmode _or_ weight paint vertex sel and active group unlocked */
+static int vertex_group_vert_select_unlocked_poll(bContext *C)
+{
+ Object *ob = ED_object_context(C);
+ ID *data = (ob) ? ob->data : NULL;
+
+ if (!(ob && !ob->id.lib && data && !data->lib))
+ return 0;
+
+ if (!(vgroup_object_in_edit_mode(ob) ||
+ vgroup_object_in_wpaint_vert_select(ob))) {
+ return 0;
+ }
+
+ if (ob->actdef != -1) {
+ bDeformGroup *dg = BLI_findlink(&ob->defbase, ob->actdef - 1);
+ if (dg) {
+ return !(dg->flag & DG_LOCK_WEIGHT);
+ }
+ }
+ return 0;
+}
+
static int vertex_group_vert_select_mesh_poll(bContext *C)
{
Object *ob = ED_object_context(C);
@@ -3075,7 +3098,7 @@
ot->description = "Assign the selected vertices to the current (or a new) vertex group";
/* api callbacks */
- ot->poll = vertex_group_vert_select_poll;
+ ot->poll = vertex_group_vert_select_unlocked_poll;
ot->exec = vertex_group_assign_exec;
/* flags */
@@ -3123,7 +3146,7 @@
ot->description = "Remove the selected vertices from active or all vertex group(s)";
/* api callbacks */
- ot->poll = vertex_group_vert_select_poll;
+ ot->poll = vertex_group_vert_select_unlocked_poll;
ot->exec = vertex_group_remove_from_exec;
/* flags */
More information about the Bf-blender-cvs
mailing list