[Bf-blender-cvs] [acc0d0e4721] workspaces: Fix crash when appending workspace

Julian Eisel noreply at git.blender.org
Sun May 14 21:21:38 CEST 2017


Commit: acc0d0e4721a4642f3532d1cc15990e3b866fcdb
Author: Julian Eisel
Date:   Sun May 14 02:45:54 2017 +0200
Branches: workspaces
https://developer.blender.org/rBacc0d0e4721a4642f3532d1cc15990e3b866fcdb

Fix crash when appending workspace

Caused by rB9b1a5b942cdccc.

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

M	source/blender/blenloader/intern/readfile.c

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index c0c538779a6..53a9ad5e0cb 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -2795,13 +2795,15 @@ static void lib_link_workspaces(FileData *fd, Main *bmain)
 		BKE_WORKSPACE_LAYOUT_ITER_BEGIN (layout, layouts->first) {
 			bScreen *screen = newlibadr(fd, id->lib, BKE_workspace_layout_screen_get(layout));
 
-			BKE_workspace_layout_screen_set(layout, screen);
-
-			if (ID_IS_LINKED_DATABLOCK(id)) {
-				screen->winid = 0;
-				if (screen->temp) {
-					/* delete temp layouts when appending */
-					BKE_workspace_layout_remove(bmain, workspace, layout);
+			if (screen) {
+				BKE_workspace_layout_screen_set(layout, screen);
+
+				if (ID_IS_LINKED_DATABLOCK(id)) {
+					screen->winid = 0;
+					if (screen->temp) {
+						/* delete temp layouts when appending */
+						BKE_workspace_layout_remove(bmain, workspace, layout);
+					}
 				}
 			}
 		} BKE_WORKSPACE_LAYOUT_ITER_END;




More information about the Bf-blender-cvs mailing list