diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-04-09 16:54:13 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-04-10 15:49:49 +0400 |
commit | f93bc7693a530632455d3ec7acc4bce54a1f85bc (patch) | |
tree | d0e067438cbc547875b3cb77e53904c5ea2a537d /source/blender/blenkernel/intern/object.c | |
parent | 19e627cab34a04a3d01b2e3a868b7bf91d56e8f9 (diff) |
Backport revisions for the 2.70a releasev2.70a
d2660a0, 6e99fb0, 58c22d8, 83f2012 + ff21f6a, a7ed1db. cc6b106
7997e38, 9d4b54b, efb48fc, 3fc293c, 29f359c, 77c1d17, 92a539e,
c626462, f48828b, 6452d9f, 765d077, 74518b2, af16d46, 8da4936,
6babbf5, f0106d2, f88776b, ee72cba, 467596d, e21a7b3, eed3974,
71a2ff1, ccf9afd, 44d6c68, 30fdfc3, b69809c, b0a8e4c, bd57ec6,
3b0832d, 2a25676, 3977b76, fb25a86, 9bbb30b, 51abc2b, 0ebade5,
2c0e32f, 3deaf7d, ea01b24, c61eb64, f3db038, a6fb670, eedde31,
b66a954, 7ff123c, f5b79df, 7148c97, 54a8753, fcaa018, 4c73001,
7a21330, 07578be, e9a64e2, fd3de8b, ae792e9, b7712a7 + 3600622,
d9557d0, 6d973b8, 688257d, 4acb57a, 95ac6bc,
Also backported openmp changes to sculpt making it so number
of real CPU cores is used as a number of threads here.
Diffstat (limited to 'source/blender/blenkernel/intern/object.c')
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 0970af46a6b..674c16383af 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2843,7 +2843,8 @@ bool BKE_object_parent_loop_check(const Object *par, const Object *ob) /* Ideally we shouldn't have to pass the rigid body world, but need bigger restructuring to avoid id */ void BKE_object_handle_update_ex(EvaluationContext *eval_ctx, Scene *scene, Object *ob, - RigidBodyWorld *rbw) + RigidBodyWorld *rbw, + const bool do_proxy_update) { if (ob->recalc & OB_RECALC_ALL) { /* speed optimization for animation lookups */ @@ -3036,8 +3037,10 @@ void BKE_object_handle_update_ex(EvaluationContext *eval_ctx, /* the no-group proxy case, we call update */ if (ob->proxy_group == NULL) { - // printf("call update, lib ob %s proxy %s\n", ob->proxy->id.name, ob->id.name); - BKE_object_handle_update(eval_ctx, scene, ob->proxy); + if (do_proxy_update) { + // printf("call update, lib ob %s proxy %s\n", ob->proxy->id.name, ob->id.name); + BKE_object_handle_update(eval_ctx, scene, ob->proxy); + } } } } @@ -3048,7 +3051,7 @@ void BKE_object_handle_update_ex(EvaluationContext *eval_ctx, */ void BKE_object_handle_update(EvaluationContext *eval_ctx, Scene *scene, Object *ob) { - BKE_object_handle_update_ex(eval_ctx, scene, ob, NULL); + BKE_object_handle_update_ex(eval_ctx, scene, ob, NULL, true); } void BKE_object_sculpt_modifiers_changed(Object *ob) |