Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2018-12-04 19:07:47 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-12-04 19:07:47 +0300
commit6a0c25b44721715574759bd0455ba1f33b3f3dae (patch)
tree698523e929d27807b4b1676dfc9b00266b12f7b6 /source/blender/blenkernel/intern/object_update.c
parent64474fbc22b3c2ccc5d45dffd58ba4f587974c52 (diff)
Fix T58700: Modifier error msgs not showing.
We need to copy those back from evaluated modifierdata to orig one (as part of `BKE_object_synchronize_to_original()`).
Diffstat (limited to 'source/blender/blenkernel/intern/object_update.c')
-rw-r--r--source/blender/blenkernel/intern/object_update.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c
index b95f1c821e2..10bf6aed898 100644
--- a/source/blender/blenkernel/intern/object_update.c
+++ b/source/blender/blenkernel/intern/object_update.c
@@ -293,6 +293,18 @@ void BKE_object_synchronize_to_original(Depsgraph *depsgraph, Object *object)
copy_m4_m4(object_orig->constinv, object->constinv);
object_orig->transflag = object->transflag;
object_orig->flag = object->flag;
+
+ /* Copy back error messages from modifiers. */
+ for (ModifierData *md = object->modifiers.first, *md_orig = object_orig->modifiers.first;
+ md != NULL && md_orig != NULL;
+ md = md->next, md_orig = md_orig->next)
+ {
+ BLI_assert(md->type == md_orig->type && STREQ(md->name, md_orig->name));
+ MEM_SAFE_FREE(md_orig->error);
+ if (md->error != NULL) {
+ md_orig->error = BLI_strdup(md->error);
+ }
+ }
}
bool BKE_object_eval_proxy_copy(Depsgraph *depsgraph,