diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2014-03-21 18:15:24 +0400 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2014-03-21 18:17:50 +0400 |
commit | 54a8753df328768a6ea0f9f8b17d77d961c52539 (patch) | |
tree | 26ae8e99d13804a2fa6004181639bcb5af364a1e /source/blender/editors/screen/screen_edit.c | |
parent | daccaa713b6e66af4b958fa373b31d557a4caa33 (diff) |
Fix T39323: Animation playback is not synchronized when Screen Layout changes.
Own regression in rBd2a5ea04ed84.
This commit should be included if we do a 2.70 'a' release.
Diffstat (limited to 'source/blender/editors/screen/screen_edit.c')
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 66fa5787e5d..23ead971cd3 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1514,19 +1514,22 @@ void ED_screen_set(bContext *C, bScreen *sc) /* we put timer to sleep, so screen_exit has to think there's no timer */ oldscreen->animtimer = NULL; - if (wt) + if (wt) { WM_event_timer_sleep(wm, win, wt, true); - + } + ED_screen_exit(C, win, oldscreen); /* 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); + if (wt) { + if (oldscene == sc->scene) { + sc->animtimer = wt; + } + /* Else, stop playback. */ + else { + oldscreen->animtimer = wt; + ED_screen_animation_play(C, 0, 0); + } } win->screen = sc; |