[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52595] trunk/blender/source/blender/ blenkernel/intern/blender.c: Fix crash opening . blend file with missing lib linked scene and no local scene.

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Nov 27 09:19:42 CET 2012


Revision: 52595
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52595
Author:   blendix
Date:     2012-11-27 08:19:34 +0000 (Tue, 27 Nov 2012)
Log Message:
-----------
Fix crash opening .blend file with missing lib linked scene and no local scene.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/blender.c

Modified: trunk/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/blender.c	2012-11-27 06:56:51 UTC (rev 52594)
+++ trunk/blender/source/blender/blenkernel/intern/blender.c	2012-11-27 08:19:34 UTC (rev 52595)
@@ -268,7 +268,7 @@
 		G.winpos = bfd->winpos;
 		G.displaymode = bfd->displaymode;
 		G.fileflags = bfd->fileflags;
-		CTX_wm_manager_set(C, bfd->main->wm.first);
+		CTX_wm_manager_set(C, G.main->wm.first);
 		CTX_wm_screen_set(C, bfd->curscreen);
 		CTX_data_scene_set(C, bfd->curscreen->scene);
 		CTX_wm_area_set(C, NULL);
@@ -278,7 +278,11 @@
 	
 	/* this can happen when active scene was lib-linked, and doesn't exist anymore */
 	if (CTX_data_scene(C) == NULL) {
-		CTX_data_scene_set(C, bfd->main->scene.first);
+		/* in case we don't even have a local scene, add one */
+		if(!G.main->scene.first)
+			BKE_scene_add("Scene");
+
+		CTX_data_scene_set(C, G.main->scene.first);
 		CTX_wm_screen(C)->scene = CTX_data_scene(C);
 		curscene = CTX_data_scene(C);
 	}




More information about the Bf-blender-cvs mailing list