[Bf-blender-cvs] [e416f417e09] blender2.8: Fix scene deletion code to match master's behavior.
Bastien Montagne
noreply at git.blender.org
Thu Oct 12 16:55:20 CEST 2017
Commit: e416f417e095397f37297471061d911927597fac
Author: Bastien Montagne
Date: Thu Oct 12 16:50:53 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBe416f417e095397f37297471061d911927597fac
Fix scene deletion code to match master's behavior.
Previous code, while more correct than old master one, could still lead
to invalid state in some corner cases (like linked scenes...).
===================================================================
M source/blender/editors/scene/scene_edit.c
===================================================================
diff --git a/source/blender/editors/scene/scene_edit.c b/source/blender/editors/scene/scene_edit.c
index 00a56f3dbc7..0ac883d38ca 100644
--- a/source/blender/editors/scene/scene_edit.c
+++ b/source/blender/editors/scene/scene_edit.c
@@ -104,7 +104,11 @@ bool ED_scene_delete(bContext *C, Main *bmain, wmWindow *win, Scene *scene)
WM_window_change_active_scene(bmain, C, win, scene_new);
BKE_libblock_remap(bmain, scene, scene_new, ID_REMAP_SKIP_INDIRECT_USAGE | ID_REMAP_SKIP_NEVER_NULL_USAGE);
- BKE_libblock_free(bmain, scene);
+
+ id_us_clear_real(&scene->id);
+ if (scene->id.us == 0) {
+ BKE_libblock_free(bmain, scene);
+ }
return true;
}
More information about the Bf-blender-cvs
mailing list