Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ebb <matt@mke3.net>2009-12-04 07:28:50 +0300
committerMatt Ebb <matt@mke3.net>2009-12-04 07:28:50 +0300
commita358b6386d8022f71160ccdb714e596ec63670a6 (patch)
treefa0731d959820848be3f934ee5dad7da0a13247d /source/blender
parent45955fef18c57a5d5633b88e823a9bb9d86b38e4 (diff)
* Fix for incorrect disabling after baking cloth sim
* Fix for time cursor getting 'stuck' after baking point caches
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/BKE_pointcache.h1
-rw-r--r--source/blender/blenkernel/intern/pointcache.c4
-rw-r--r--source/blender/editors/physics/physics_pointcache.c4
-rw-r--r--source/blender/editors/space_view3d/drawobject.c1
-rw-r--r--source/blender/windowmanager/intern/wm_cursors.c2
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));