[Bf-blender-cvs] [bdaf74c] workspaces: Fix crash when duplicating window

Julian Eisel noreply at git.blender.org
Tue Dec 6 23:44:15 CET 2016


Commit: bdaf74c05ed08ed5c0f0a3f7da6c31d0048b90fb
Author: Julian Eisel
Date:   Tue Dec 6 23:43:40 2016 +0100
Branches: workspaces
https://developer.blender.org/rBbdaf74c05ed08ed5c0f0a3f7da6c31d0048b90fb

Fix crash when duplicating window

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

M	source/blender/blenkernel/BKE_workspace.h
M	source/blender/blenkernel/intern/workspace.c
M	source/blender/editors/screen/workspace_layout_edit.c

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

diff --git a/source/blender/blenkernel/BKE_workspace.h b/source/blender/blenkernel/BKE_workspace.h
index 6659ac5..a0cb579 100644
--- a/source/blender/blenkernel/BKE_workspace.h
+++ b/source/blender/blenkernel/BKE_workspace.h
@@ -61,5 +61,6 @@ struct Scene   *BKE_workspace_active_scene_get(const struct WorkSpace *ws) ATTR_
 void            BKE_workspace_active_scene_set(struct WorkSpace *ws, struct Scene *scene);
 
 struct bScreen *BKE_workspace_layout_screen_get(const struct WorkSpaceLayout *layout) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT;
+struct Scene *BKE_workspace_layout_scene_get(const struct WorkSpaceLayout *layout) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT;
 
 #endif /* __BKE_WORKSPACE_H__ */
diff --git a/source/blender/blenkernel/intern/workspace.c b/source/blender/blenkernel/intern/workspace.c
index 44fb1d7..2fe1c24 100644
--- a/source/blender/blenkernel/intern/workspace.c
+++ b/source/blender/blenkernel/intern/workspace.c
@@ -159,3 +159,8 @@ bScreen *BKE_workspace_layout_screen_get(const WorkSpaceLayout *layout)
 {
 	return layout->screen;
 }
+
+Scene *BKE_workspace_layout_scene_get(const WorkSpaceLayout *layout)
+{
+	return layout->screen->scene;
+}
diff --git a/source/blender/editors/screen/workspace_layout_edit.c b/source/blender/editors/screen/workspace_layout_edit.c
index 805a819..d3eb347 100644
--- a/source/blender/editors/screen/workspace_layout_edit.c
+++ b/source/blender/editors/screen/workspace_layout_edit.c
@@ -56,7 +56,7 @@ WorkSpaceLayout *ED_workspace_layout_add(WorkSpace *workspace, wmWindow *win, Sc
 
 WorkSpaceLayout *ED_workspace_layout_duplicate(WorkSpace *workspace, const WorkSpaceLayout *layout_old, wmWindow *win)
 {
-	Scene *scene = BKE_workspace_active_scene_get(workspace);
+	Scene *scene = BKE_workspace_layout_scene_get(layout_old);
 	bScreen *screen_old = BKE_workspace_layout_screen_get(layout_old);
 
 	WorkSpaceLayout *layout_new;




More information about the Bf-blender-cvs mailing list