From bb3b3abe3046384ad91f7ea6b73d266ff239f26d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 10 Sep 2012 14:00:01 +0000 Subject: Fix #32530: animation playback did not respect preview frame range if the current frame was before the start frame. --- source/blender/editors/screen/screen_edit.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'source') diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 3642cc0d8d4..11d32e11cd0 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1767,12 +1767,22 @@ void ED_screen_animation_timer(bContext *C, int redraws, int refresh, int sync, sad->ar = CTX_wm_region(C); /* if startframe is larger than current frame, we put currentframe on startframe. * note: first frame then is not drawn! (ton) */ - if (scene->r.sfra > scene->r.cfra) { - sad->sfra = scene->r.cfra; - scene->r.cfra = scene->r.sfra; + if (PRVRANGEON) { + if (scene->r.psfra > scene->r.cfra) { + sad->sfra = scene->r.cfra; + scene->r.cfra = scene->r.psfra; + } + else + sad->sfra = scene->r.cfra; + } + else { + if (scene->r.sfra > scene->r.cfra) { + sad->sfra = scene->r.cfra; + scene->r.cfra = scene->r.sfra; + } + else + sad->sfra = scene->r.cfra; } - else - sad->sfra = scene->r.cfra; sad->redraws = redraws; sad->refresh = refresh; sad->flag |= (enable < 0) ? ANIMPLAY_FLAG_REVERSE : 0; -- cgit v1.2.3