diff options
author | Matt Ebb <matt@mke3.net> | 2009-12-04 07:28:50 +0300 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2009-12-04 07:28:50 +0300 |
commit | a358b6386d8022f71160ccdb714e596ec63670a6 (patch) | |
tree | fa0731d959820848be3f934ee5dad7da0a13247d /source | |
parent | 45955fef18c57a5d5633b88e823a9bb9d86b38e4 (diff) |
* Fix for incorrect disabling after baking cloth sim
* Fix for time cursor getting 'stuck' after baking point caches
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/BKE_pointcache.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/pointcache.c | 4 | ||||
-rw-r--r-- | source/blender/editors/physics/physics_pointcache.c | 4 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/drawobject.c | 1 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_cursors.c | 2 |
5 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_pointcache.h b/source/blender/blenkernel/BKE_pointcache.h index 5ae10d736fd..4b26eaa6d76 100644 --- a/source/blender/blenkernel/BKE_pointcache.h +++ b/source/blender/blenkernel/BKE_pointcache.h @@ -151,6 +151,7 @@ typedef struct PTCacheBaker { int (*break_test)(void *data); void *break_data; void (*progressbar)(void *data, int num); + void (*progressend)(void *data); void *progresscontext; } PTCacheBaker; diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c index c2798b4a746..cc7b942a6bb 100644 --- a/source/blender/blenkernel/intern/pointcache.c +++ b/source/blender/blenkernel/intern/pointcache.c @@ -2232,6 +2232,7 @@ void BKE_ptcache_quick_cache_all(Scene *scene) baker.break_test=NULL; baker.pid=NULL; baker.progressbar=NULL; + baker.progressend=NULL; baker.progresscontext=NULL; baker.render=0; baker.anim_init = 0; @@ -2360,6 +2361,7 @@ void BKE_ptcache_make_cache(PTCacheBaker* baker) if(baker->break_test && baker->break_test(baker->break_data)) break; } + baker->progressend(baker->progresscontext); /* clear baking flag */ if(pid) { @@ -2400,7 +2402,7 @@ void BKE_ptcache_make_cache(PTCacheBaker* baker) scene->r.framelen = frameleno; CFRA = cfrao; - + if(bake) /* already on cfra unless baking */ scene_update_for_newframe(scene, scene->lay); diff --git a/source/blender/editors/physics/physics_pointcache.c b/source/blender/editors/physics/physics_pointcache.c index 9973c38bb41..a931e27bc83 100644 --- a/source/blender/editors/physics/physics_pointcache.c +++ b/source/blender/editors/physics/physics_pointcache.c @@ -109,9 +109,11 @@ static int ptcache_bake_all_exec(bContext *C, wmOperator *op) if (win) { baker.progressbar = (void (*)(void *, int))WM_timecursor; + baker.progressend = (void (*)(void *))WM_cursor_restore; baker.progresscontext = win; } else { baker.progressbar = bake_console_progress; + baker.progressend = NULL; baker.progresscontext = NULL; } @@ -200,10 +202,12 @@ static int ptcache_bake_exec(bContext *C, wmOperator *op) if (win) { baker.progressbar = (void (*)(void *, int))WM_timecursor; + baker.progressend = (void (*)(void *))WM_cursor_restore; baker.progresscontext = win; } else { printf("\n"); /* empty first line before console reports */ baker.progressbar = bake_console_progress; + baker.progressend = NULL; baker.progresscontext = NULL; } diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 8592a5455c2..f60f4ad9230 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -4174,7 +4174,6 @@ static void draw_ptcache_edit(Scene *scene, View3D *v3d, RegionView3D *rv3d, Obj ParticleEditSettings *pset = PE_settings(scene); int i, k, totpoint = edit->totpoint, timed = pset->flag & PE_FADE_TIME ? pset->fade_frames : 0; int steps=1; - char nosel[4], sel[4]; float sel_col[3]; float nosel_col[3]; float *pathcol = NULL, *pcol; diff --git a/source/blender/windowmanager/intern/wm_cursors.c b/source/blender/windowmanager/intern/wm_cursors.c index 7decf7b2ed2..95a1de96115 100644 --- a/source/blender/windowmanager/intern/wm_cursors.c +++ b/source/blender/windowmanager/intern/wm_cursors.c @@ -212,7 +212,7 @@ void WM_timecursor(wmWindow *win, int nr) unsigned char bitmap[16][2]; int i, idx; - if(win->lastcursor != 0) + if(win->lastcursor == 0) win->lastcursor= win->cursor; memset(&bitmap, 0x00, sizeof(bitmap)); |