[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32401] trunk/blender/source/blender: bugfix [#23412] Weightpaint and rotate around bones
Campbell Barton
ideasman42 at gmail.com
Mon Oct 11 01:11:35 CEST 2010
Revision: 32401
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32401
Author: campbellbarton
Date: 2010-10-11 01:11:34 +0200 (Mon, 11 Oct 2010)
Log Message:
-----------
bugfix [#23412] Weightpaint and rotate around bones
fixed by allowing an unselected armature to have its pose bones used in weightpaint mode.
Modified Paths:
--------------
trunk/blender/source/blender/editors/transform/transform_conversions.c
trunk/blender/source/blender/makesdna/DNA_scene_types.h
Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c 2010-10-10 22:50:32 UTC (rev 32400)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c 2010-10-10 23:11:34 UTC (rev 32401)
@@ -5318,19 +5318,19 @@
createTransPose(C, t, ob);
}
else if (ob && (ob->mode & OB_MODE_WEIGHT_PAINT)) {
- /* exception, we look for the one selected armature */
- CTX_DATA_BEGIN(C, Object*, ob_armature, selected_objects)
- {
- if(ob_armature->type==OB_ARMATURE)
- {
- if((ob_armature->mode & OB_MODE_POSE) && ob_armature == modifiers_isDeformedByArmature(ob))
- {
+ /* important that ob_armature can be set even when its not selected [#23412]
+ * lines below just check is also visible */
+ Object *ob_armature= modifiers_isDeformedByArmature(ob);
+ if(ob_armature && ob_armature->mode & OB_MODE_POSE) {
+ Base *base_arm= object_in_scene(ob_armature, t->scene);
+ if(base_arm) {
+ View3D *v3d = t->view;
+ if(BASE_VISIBLE(v3d, base_arm)) {
createTransPose(C, t, ob_armature);
- break;
}
}
+
}
- CTX_DATA_END;
}
else if (ob && (ob->mode & OB_MODE_PARTICLE_EDIT)
&& PE_start_edit(PE_get_current(scene, ob))) {
Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h 2010-10-10 22:50:32 UTC (rev 32400)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h 2010-10-10 23:11:34 UTC (rev 32401)
@@ -1038,6 +1038,7 @@
#define TESTBASELIB_BGMODE(v3d, scene, base) ( ((base)->flag & SELECT) && ((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0))
#define BASE_EDITABLE_BGMODE(v3d, scene, base) (((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0))
#define BASE_SELECTABLE(v3d, base) ((base->lay & v3d->lay) && (base->object->restrictflag & (OB_RESTRICT_SELECT|OB_RESTRICT_VIEW))==0)
+#define BASE_VISIBLE(v3d, base) ((base->lay & v3d->lay) && (base->object->restrictflag & OB_RESTRICT_VIEW)==0)
#define FIRSTBASE scene->base.first
#define LASTBASE scene->base.last
#define BASACT (scene->basact)
More information about the Bf-blender-cvs
mailing list