Commit: ccecc409e4eae160609bfd7e6803cda2afd0c0eb
Author: Bastien Montagne
Date:   Fri Mar 1 23:02:25 2019 +0100
Branches: master
https://developer.blender.org/rBccecc409e4eae160609bfd7e6803cda2afd0c0eb

Fix T62098: Outliner: Delete hierarchy crash.

Stupid mistake in own logic would prevent first deleted ID to be
properly unlinked from rest of .blend file before its deletion...

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

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

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

diff --git a/source/blender/blenkernel/intern/library_remap.c 
b/source/blender/blenkernel/intern/library_remap.c
index e965e2a6aac..c4cd14e027e 100644
--- a/source/blender/blenkernel/intern/library_remap.c
+++ b/source/blender/blenkernel/intern/library_remap.c
@@ -956,6 +956,7 @@ static void id_delete(Main *bmain, const bool 
do_tagged_deletion)
 {
        const int tag = LIB_TAG_DOIT;
        ListBase *lbarray[MAX_LIBARRAY];
+       Link dummy_link = {0};
        int base_count, i;
 
        /* Used by batch tagged deletion, when we call BKE_id_free then, id is 
no more in Main database,
@@ -1000,11 +1001,8 @@ static void id_delete(Main *bmain, const bool 
do_tagged_deletion)
                                }
                        }
                        if (last_remapped_id == NULL) {
-                               last_remapped_id = tagged_deleted_ids.first;
-                               if (last_remapped_id == NULL) {
-                                       BLI_assert(!keep_looping);
-                                       break;
-                               }
+                               dummy_link.next = tagged_deleted_ids.first;
+                               last_remapped_id = (ID *)(&dummy_link);
                        }
                        for (id = last_remapped_id->next; id; id = id->next) {
                                /* Will tag 'never NULL' users of this ID too.

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to