diff options
Diffstat (limited to 'source/blender/editors/screen/screen_edit.c')
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 13 |
1 files changed, 11 insertions, 2 deletions
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 |