From d2a5ea04ed8448865b4daa21c0010727eee118ba Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 28 Feb 2014 10:04:57 +0100 Subject: Fix T38467: Animation playback is not synchronized when Screen Layout changes When both old and new screens share the same scene, "transfer" playback to new screen, else stop playback. --- source/blender/editors/screen/screen_edit.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'source/blender/editors/screen') diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 86e78396fdf..66fa5787e5d 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1518,8 +1518,17 @@ void ED_screen_set(bContext *C, bScreen *sc) WM_event_timer_sleep(wm, win, wt, true); ED_screen_exit(C, win, oldscreen); - oldscreen->animtimer = wt; - + + /* Same scene, "transfer" playback to new screen. */ + if (oldscene == sc->scene) { + sc->animtimer = wt; + } + /* Else, stop playback. */ + else { + oldscreen->animtimer = wt; + ED_screen_animation_play(C, 0, 0); + } + win->screen = sc; CTX_wm_window_set(C, win); // stores C->wm.screen... hrmf -- cgit v1.2.3