Revision: 41747
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41747
Author:   aligorith
Date:     2011-11-11 00:44:48 +0000 (Fri, 11 Nov 2011)
Log Message:
-----------
Bugfix [#29210] ChildOf constraint Set Inverse

For Objects, Set Inverse was unreliable as the constraint didn't get reset
properly before being calculated

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_constraint.c

Modified: trunk/blender/source/blender/editors/object/object_constraint.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_constraint.c     
2011-11-10 20:31:50 UTC (rev 41746)
+++ trunk/blender/source/blender/editors/object/object_constraint.c     
2011-11-11 00:44:48 UTC (rev 41747)
@@ -700,6 +700,9 @@
                return OPERATOR_CANCELLED;
        }
        
+       /* nullify inverse matrix first */
+       unit_m4(data->invmat);
+       
        /* try to find a pose channel */
        // TODO: get from context instead?
        if (ob && ob->pose)
@@ -733,18 +736,15 @@
                where_is_pose(scene, ob);
        }
        else if (ob) {
-               Object workob;
-               /* use what_does_parent to find inverse - just like for normal 
parenting.
-                * NOTE: what_does_parent uses a static workob defined in 
object.c 
-                */
+               Object workob = {0};
+               
+               /* use what_does_parent to find inverse - just like for normal 
parenting */
                what_does_parent(scene, ob, &workob);
                invert_m4_m4(data->invmat, workob.obmat);
        }
-       else
-               unit_m4(data->invmat);
-               
+       
        WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob);
-               
+       
        return OPERATOR_FINISHED;
 }
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to