[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25106] trunk/blender/source/blender/ editors/physics/physics_pointcache.c: Only set baking progress function to cursor when a window is present.

Martin Poirier theeth at yahoo.com
Thu Dec 3 23:48:00 CET 2009


Revision: 25106
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25106
Author:   theeth
Date:     2009-12-03 23:48:00 +0100 (Thu, 03 Dec 2009)

Log Message:
-----------
Only set baking progress function to cursor when a window is present.

This enables baking in background mode (instead of just crashing).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/physics/physics_pointcache.c

Modified: trunk/blender/source/blender/editors/physics/physics_pointcache.c
===================================================================
--- trunk/blender/source/blender/editors/physics/physics_pointcache.c	2009-12-03 22:44:11 UTC (rev 25105)
+++ trunk/blender/source/blender/editors/physics/physics_pointcache.c	2009-12-03 22:48:00 UTC (rev 25106)
@@ -83,6 +83,7 @@
 static int ptcache_bake_all_exec(bContext *C, wmOperator *op)
 {
 	Scene *scene= CTX_data_scene(C);
+	wmWindow *win = CTX_wm_window(C);
 	PTCacheBaker baker;
 
 
@@ -94,9 +95,15 @@
 	baker.quick_step = 1;
 	baker.break_test = cache_break_test;
 	baker.break_data = NULL;
-	baker.progressbar = (void (*)(void *, int))WM_timecursor;
-	baker.progresscontext = CTX_wm_window(C);
 
+	if (win) {
+		baker.progressbar = (void (*)(void *, int))WM_timecursor;
+		baker.progresscontext = win;
+	} else {
+		baker.progressbar = NULL;
+		baker.progresscontext = NULL;
+	}
+
 	BKE_ptcache_make_cache(&baker);
 
 	WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene);
@@ -156,6 +163,7 @@
 static int ptcache_bake_exec(bContext *C, wmOperator *op)
 {
 	Scene *scene = CTX_data_scene(C);
+	wmWindow *win = CTX_wm_window(C);
 	PointerRNA ptr= CTX_data_pointer_get_type(C, "PointCache", &RNA_PointCache);
 	Object *ob= ptr.id.data;
 	PointCache *cache= ptr.data;
@@ -178,9 +186,15 @@
 	baker.quick_step = 1;
 	baker.break_test = cache_break_test;
 	baker.break_data = NULL;
-	baker.progressbar = (void (*)(void *, int))WM_timecursor;
-	baker.progresscontext = CTX_wm_window(C);
 
+	if (win) {
+		baker.progressbar = (void (*)(void *, int))WM_timecursor;
+		baker.progresscontext = win;
+	} else {
+		baker.progressbar = NULL;
+		baker.progresscontext = NULL;
+	}
+
 	BKE_ptcache_make_cache(&baker);
 
 	BLI_freelistN(&pidlist);





More information about the Bf-blender-cvs mailing list