diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-09-24 01:55:56 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-09-24 01:55:56 +0400 |
commit | fb591ea9131548bdb9b29c4e353eba8ea5deb1bb (patch) | |
tree | 846d04d278d9e05148fc16a36f92a4463341f175 /source/blender/blenkernel/intern/object.c | |
parent | fc2dbc20ff5c9187310e8d51dca99c7be13b84b4 (diff) |
Fix #36793: missing update on undo with proxy object that is not using a proxy group.
Diffstat (limited to 'source/blender/blenkernel/intern/object.c')
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index d7abdbdea0a..5d0216affca 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2835,21 +2835,20 @@ void BKE_object_handle_update_ex(Scene *scene, Object *ob, /* quick cache removed */ } - /* the no-group proxy case, we call update */ - if (ob->proxy && ob->proxy_group == NULL) { - /* set pointer in library proxy target, for copying, but restore it */ - ob->proxy->proxy_from = ob; - // printf("call update, lib ob %s proxy %s\n", ob->proxy->id.name, ob->id.name); - BKE_object_handle_update(scene, ob->proxy); - } - ob->recalc &= ~OB_RECALC_ALL; } /* the case when this is a group proxy, object_update is called in group.c */ if (ob->proxy) { + /* set pointer in library proxy target, for copying, but restore it */ ob->proxy->proxy_from = ob; // printf("set proxy pointer for later group stuff %s\n", ob->id.name); + + /* 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(scene, ob->proxy); + } } } /* WARNING: "scene" here may not be the scene object actually resides in. |