From 1a19cbb166ce66b427a2dd0d0f9e65b1863e35b0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 1 Oct 2012 07:54:37 +0000 Subject: fix for some errors when unlinking. - movieclip unlink didn't clear node ID pointers from the scene (leaving dangling pointers). - mask datablock unlink was clearning references from scene nodes twice. --- source/blender/blenkernel/intern/movieclip.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'source/blender/blenkernel/intern/movieclip.c') diff --git a/source/blender/blenkernel/intern/movieclip.c b/source/blender/blenkernel/intern/movieclip.c index 386e4163fd2..8a2bdd81da2 100644 --- a/source/blender/blenkernel/intern/movieclip.c +++ b/source/blender/blenkernel/intern/movieclip.c @@ -52,6 +52,7 @@ #include "DNA_screen_types.h" #include "DNA_space_types.h" #include "DNA_movieclip_types.h" +#include "DNA_node_types.h" #include "DNA_object_types.h" #include "DNA_scene_types.h" #include "DNA_view3d_types.h" @@ -71,6 +72,7 @@ #include "BKE_global.h" #include "BKE_main.h" #include "BKE_movieclip.h" +#include "BKE_node.h" #include "BKE_image.h" /* openanim */ #include "BKE_tracking.h" @@ -1326,6 +1328,11 @@ void BKE_movieclip_unlink(Main *bmain, MovieClip *clip) } } + { + bNodeTreeType *treetype = ntreeGetType(NTREE_COMPOSIT); + treetype->foreach_nodetree(bmain, (void *)clip, &BKE_node_tree_unlink_id_cb); + } + clip->id.us = 0; } -- cgit v1.2.3