[Bf-blender-cvs] [1136dee2327] master: Cleanup: De-duplicate code in object update routines

Sergey Sharybin noreply at git.blender.org
Wed Nov 29 16:26:37 CET 2017


Commit: 1136dee23273830ce16a624526b45d145a7e4020
Author: Sergey Sharybin
Date:   Wed Nov 29 16:26:16 2017 +0100
Branches: master
https://developer.blender.org/rB1136dee23273830ce16a624526b45d145a7e4020

Cleanup: De-duplicate code in object update routines

===================================================================

M	source/blender/blenkernel/intern/object.c

===================================================================

diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 6276f12acfb..c6b4e3fb0c7 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -2650,22 +2650,7 @@ void BKE_object_handle_update_ex(EvaluationContext *eval_ctx,
 			printf("recalcob %s\n", ob->id.name + 2);
 		}
 		/* Handle proxy copy for target. */
-		if (ID_IS_LINKED(ob) && ob->proxy_from) {
-			// printf("ob proxy copy, lib ob %s proxy %s\n", ob->id.name, ob->proxy_from->id.name);
-			if (ob->proxy_from->proxy_group) { /* transform proxy into group space */
-				Object *obg = ob->proxy_from->proxy_group;
-				float imat[4][4];
-				invert_m4_m4(imat, obg->obmat);
-				mul_m4_m4m4(ob->obmat, imat, ob->proxy_from->obmat);
-				if (obg->dup_group) { /* should always be true */
-					add_v3_v3(ob->obmat[3], obg->dup_group->dupli_ofs);
-				}
-			}
-			else {
-				copy_m4_m4(ob->obmat, ob->proxy_from->obmat);
-			}
-		}
-		else {
+		if (!BKE_object_eval_proxy_copy(eval_ctx, ob)) {
 			BKE_object_where_is_calc_ex(scene, rbw, ob, NULL);
 		}
 	}



More information about the Bf-blender-cvs mailing list