blender -P xxx -b crashed sometimes, still will crash in some cases if the python functions access screen data. but at least Blender.sys.expandpath wont segfault anymore.
This commit is contained in:
		@@ -817,7 +817,8 @@ void M_Blender_Init(void)
 | 
				
			|||||||
	G.scene is NULL */
 | 
						G.scene is NULL */
 | 
				
			||||||
	if(G.background && G.main->scene.first==0) {
 | 
						if(G.background && G.main->scene.first==0) {
 | 
				
			||||||
		Scene *sce= add_scene("1");
 | 
							Scene *sce= add_scene("1");
 | 
				
			||||||
		set_scene(sce);
 | 
							//set_scene(sce); /* causes a crash */
 | 
				
			||||||
 | 
							G.scene= sce;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	module = Py_InitModule3("Blender", Blender_methods,
 | 
						module = Py_InitModule3("Blender", Blender_methods,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -134,10 +134,8 @@ void set_scene(Scene *sce)		/* also see scene.c: set_scene_bg() */
 | 
				
			|||||||
	set_radglobal();
 | 
						set_radglobal();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
	/* complete redraw */
 | 
						/* complete redraw */
 | 
				
			||||||
	if (!G.background) {
 | 
					 | 
				
			||||||
	allqueue(REDRAWALL, 0);
 | 
						allqueue(REDRAWALL, 0);
 | 
				
			||||||
	allqueue(REDRAWDATASELECT, 0);	/* does a remake */
 | 
						allqueue(REDRAWDATASELECT, 0);	/* does a remake */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user