Bugfix #6486
Posemode: you can get a situation of an active object, in posemode, which is not selected. That is very invisible, and gives issues for tools like 'clear rotation', because it checks for selected objects. Als fixed clear (alt+g,r,s) options to only work on posemode for the active object.
This commit is contained in:
@@ -999,7 +999,7 @@ void clear_object(char mode)
|
||||
if TESTBASELIB(base) {
|
||||
ob= base->object;
|
||||
|
||||
if(ob->flag & OB_POSEMODE) {
|
||||
if( (ob->flag & OB_POSEMODE) && ob==OBACT) {
|
||||
clear_armature(ob, mode);
|
||||
armature_clear= 1; /* silly system to prevent another dag update, so no action applied */
|
||||
}
|
||||
|
||||
@@ -1409,11 +1409,13 @@ void mouse_select(void)
|
||||
if(has_bones && basact) {
|
||||
if( do_pose_selectbuffer(basact, buffer, hits) ) { /* then bone is found */
|
||||
|
||||
/* we make the armature selected:
|
||||
not-selected active object in posemode won't work well for tools */
|
||||
basact->flag|= SELECT;
|
||||
basact->object->flag= basact->flag;
|
||||
|
||||
/* in weightpaint, we use selected bone to select vertexgroup, so no switch to new active object */
|
||||
if(G.f & G_WEIGHTPAINT) {
|
||||
/* we make the armature selected */
|
||||
basact->flag|= SELECT;
|
||||
basact->object->flag= basact->flag;
|
||||
/* prevent activating */
|
||||
basact= NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user