[Bf-blender-cvs] [88ae0be] master: Fix T39758: Blender Crash when removing pinned Scene.
Bastien Montagne
noreply at git.blender.org
Thu Apr 17 10:49:44 CEST 2014
Commit: 88ae0be1c41bde777577cd9b08c6b963fbca7e0c
Author: Bastien Montagne
Date: Thu Apr 17 10:48:32 2014 +0200
https://developer.blender.org/rB88ae0be1c41bde777577cd9b08c6b963fbca7e0c
Fix T39758: Blender Crash when removing pinned Scene.
===================================================================
M source/blender/blenkernel/intern/scene.c
===================================================================
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index a81f9c4..7854395 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -743,6 +743,13 @@ static void scene_unlink_space_node(SpaceNode *snode, Scene *sce)
}
}
+static void scene_unlink_space_buts(SpaceButs *sbuts, Scene *sce)
+{
+ if (sbuts->pinid == &sce->id) {
+ sbuts->pinid = NULL;
+ }
+}
+
void BKE_scene_unlink(Main *bmain, Scene *sce, Scene *newsce)
{
Scene *sce1;
@@ -775,8 +782,12 @@ void BKE_scene_unlink(Main *bmain, Scene *sce, Scene *newsce)
for (area = screen->areabase.first; area; area = area->next) {
SpaceLink *space_link;
for (space_link = area->spacedata.first; space_link; space_link = space_link->next) {
- if (space_link->spacetype == SPACE_NODE)
- scene_unlink_space_node((SpaceNode *)space_link, sce);
+ switch (space_link->spacetype) {
+ case SPACE_NODE:
+ scene_unlink_space_node((SpaceNode *)space_link, sce);
+ case SPACE_BUTS:
+ scene_unlink_space_buts((SpaceButs *)space_link, sce);
+ }
}
}
}
More information about the Bf-blender-cvs
mailing list