[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