diff options
author | Joerg Mueller <nexyon@gmail.com> | 2011-10-14 02:19:29 +0400 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2011-10-14 02:19:29 +0400 |
commit | 9e17ecf0100af4e95f32a7b03673e880a9fc8d1e (patch) | |
tree | 9e01ee9208ba5e5e900b6bf18a5c95cd2f67c4e4 /source/blender/windowmanager/intern/wm_event_system.c | |
parent | d893ac690cfe34e922d34a65a1ca526f8297c129 (diff) |
Fixing [#28907] Frozen playback.
Also fixing two more crashes when audio files don't exist/cannot be read and apply a changed file path of a sound, reported by Jens Verwiebe in IRC.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_event_system.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index cafee6b49ca..074151c9abe 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -1790,11 +1790,14 @@ void wm_event_do_handlers(bContext *C) } if(playing == 0) { - int ncfra = sound_sync_scene(scene) * (float)FPS + 0.5f; - if(ncfra != scene->r.cfra) { - scene->r.cfra = ncfra; - ED_update_for_newframe(CTX_data_main(C), scene, win->screen, 1); - WM_event_add_notifier(C, NC_WINDOW, NULL); + float time = sound_sync_scene(scene); + if(finite(time)) { + int ncfra = sound_sync_scene(scene) * (float)FPS + 0.5f; + if(ncfra != scene->r.cfra) { + scene->r.cfra = ncfra; + ED_update_for_newframe(CTX_data_main(C), scene, win->screen, 1); + WM_event_add_notifier(C, NC_WINDOW, NULL); + } } } |