[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54072] trunk/blender/source/blender/ blenkernel: Armature rigging:

Ton Roosendaal ton at blender.org
Thu Jan 24 12:21:44 CET 2013


Revision: 54072
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54072
Author:   ton
Date:     2013-01-24 11:21:40 +0000 (Thu, 24 Jan 2013)
Log Message:
-----------
Armature rigging:
Added more clear warning print for cases when a Proxy cannot be resolved.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_action.h
    trunk/blender/source/blender/blenkernel/intern/action.c
    trunk/blender/source/blender/blenkernel/intern/object.c

Modified: trunk/blender/source/blender/blenkernel/BKE_action.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_action.h	2013-01-24 09:36:22 UTC (rev 54071)
+++ trunk/blender/source/blender/blenkernel/BKE_action.h	2013-01-24 11:21:40 UTC (rev 54072)
@@ -220,7 +220,7 @@
 void what_does_obaction(struct Object *ob, struct Object *workob, struct bPose *pose, struct bAction *act, char groupname[], float cframe);
 
 /* for proxy */
-void BKE_pose_copy_result(struct bPose *to, struct bPose *from);
+int BKE_pose_copy_result(struct bPose *to, struct bPose *from);
 /* clear all transforms */
 void BKE_pose_rest(struct bPose *pose);
 

Modified: trunk/blender/source/blender/blenkernel/intern/action.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/action.c	2013-01-24 09:36:22 UTC (rev 54071)
+++ trunk/blender/source/blender/blenkernel/intern/action.c	2013-01-24 11:21:40 UTC (rev 54072)
@@ -1118,18 +1118,18 @@
 }
 
 /* both poses should be in sync */
-void BKE_pose_copy_result(bPose *to, bPose *from)
+int BKE_pose_copy_result(bPose *to, bPose *from)
 {
 	bPoseChannel *pchanto, *pchanfrom;
 	
 	if (to == NULL || from == NULL) {
-		printf("pose result copy error to:%p from:%p\n", (void *)to, (void *)from); /* debug temp */
-		return;
+		printf("Pose copy error, pose to:%p from:%p\n", (void *)to, (void *)from); /* debug temp */
+		return 0;
 	}
 
 	if (to == from) {
 		printf("BKE_pose_copy_result source and target are the same\n");
-		return;
+		return 0;
 	}
 
 
@@ -1153,6 +1153,7 @@
 			pchanto->protectflag = pchanfrom->protectflag;
 		}
 	}
+	return 1;
 }
 
 /* For the calculation of the effects of an Action at the given frame on an object 

Modified: trunk/blender/source/blender/blenkernel/intern/object.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/object.c	2013-01-24 09:36:22 UTC (rev 54071)
+++ trunk/blender/source/blender/blenkernel/intern/object.c	2013-01-24 11:21:40 UTC (rev 54072)
@@ -2711,8 +2711,8 @@
 
 				case OB_ARMATURE:
 					if (ob->id.lib && ob->proxy_from) {
-						// printf("pose proxy copy, lib ob %s proxy %s\n", ob->id.name, ob->proxy_from->id.name);
-						BKE_pose_copy_result(ob->pose, ob->proxy_from->pose);
+						if (0 == BKE_pose_copy_result(ob->pose, ob->proxy_from->pose))
+							printf("Proxy copy error, lib Object: %s proxy Object: %s\n", ob->id.name+2, ob->proxy_from->id.name+2);
 					}
 					else {
 						BKE_pose_where_is(scene, ob);




More information about the Bf-blender-cvs mailing list