[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57973] trunk/blender/source/blender/ editors/object/object_vgroup.c: Fix Weight Paint(Weight-Transfer): active vgroup does not match active bone when new vgroups where created during transfer
Gaia Clary
gaia.clary at machinimatrix.org
Wed Jul 3 22:31:38 CEST 2013
Revision: 57973
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57973
Author: gaiaclary
Date: 2013-07-03 20:31:38 +0000 (Wed, 03 Jul 2013)
Log Message:
-----------
Fix Weight Paint(Weight-Transfer): active vgroup does not match active bone when new vgroups where created during transfer
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-07-03 19:49:54 UTC (rev 57972)
+++ trunk/blender/source/blender/editors/object/object_vgroup.c 2013-07-03 20:31:38 UTC (rev 57973)
@@ -67,6 +67,7 @@
#include "BKE_object.h"
#include "BKE_lattice.h"
+#include "DNA_armature_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
@@ -3748,6 +3749,7 @@
{
Scene *scene = CTX_data_scene(C);
Object *ob_act = CTX_data_active_object(C);
+ Object *armobj = BKE_object_pose_armature_get(ob_act);
bDeformGroup *dg_src;
int fail = 0;
@@ -3792,6 +3794,16 @@
CTX_DATA_END;
+ /* Ensure active Weight Group is set to active bone
+ * when new groups have been added during Weight Transfer
+ */
+ if (armobj && (armobj->mode & OB_MODE_POSE)) {
+ struct bArmature *arm = armobj->data;
+ if (arm->act_bone && (arm->act_bone->layer & arm->layer)) {
+ ob_act->actdef = defgroup_name_index(ob_act, arm->act_bone->name)+1;
+ }
+ }
+
if (fail != 0) {
return OPERATOR_CANCELLED;
}
More information about the Bf-blender-cvs
mailing list