[Bf-blender-cvs] [b93b75b5fb7] master: LibOverride: Tweak override creation code.

Bastien Montagne noreply at git.blender.org
Wed Sep 23 11:07:43 CEST 2020


Commit: b93b75b5fb716979f88abbc6aedc778c3509e2b5
Author: Bastien Montagne
Date:   Tue Sep 22 14:49:18 2020 +0200
Branches: master
https://developer.blender.org/rBb93b75b5fb716979f88abbc6aedc778c3509e2b5

LibOverride: Tweak override creation code.

This is a first step towards supporting conversion of proxies, done
separately to make it easy to pinpoint in case it would create problems.

It is not expected to cause any change in behavior currently.

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

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

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

diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c
index 48ecbcae90c..befb4afc0b7 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -287,11 +287,14 @@ bool BKE_lib_override_library_create_from_tag(Main *bmain)
   /* Override the IDs. */
   for (todo_id_iter = todo_ids.first; todo_id_iter != NULL; todo_id_iter = todo_id_iter->next) {
     reference_id = todo_id_iter->data;
-    if ((reference_id->newid = lib_override_library_create_from(bmain, reference_id)) == NULL) {
-      success = false;
-      break;
-    }
-    /* We also tag the new IDs so that in next step we can remap their pointers too. */
+    if (reference_id->newid == NULL) {
+      /* If newid is already set, assume it has been handled by calling code.
+       * Only current usecase: re-using proxy ID when converting to liboverride. */
+      if ((reference_id->newid = lib_override_library_create_from(bmain, reference_id)) == NULL) {
+        success = false;
+        break;
+      }
+    } /* We also tag the new IDs so that in next step we can remap their pointers too. */
     reference_id->newid->tag |= LIB_TAG_DOIT;
 
     Key *reference_key;



More information about the Bf-blender-cvs mailing list