[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