diff options
author | Joshua Leung <aligorith@gmail.com> | 2011-02-02 02:41:01 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2011-02-02 02:41:01 +0300 |
commit | efd1d0f901ceed1b278ed4b3079d379ff17c5f1e (patch) | |
tree | 79eef95abfb6823096d8e1bf045afc4036d701de /source/blender/editors/screen | |
parent | b8d9d10a65f79373cc742bc95c3784950686b7a5 (diff) |
Bugfix [#25902] alt+a over 3D view don't up date dropesheet editor
Migrating "redraws" settings from TimeLine view data to per Screen.
The options are now still shown in the TimeLine "Playback" menu
though.
This means that whatever redraw settings you set in a TimeLine editor
will be used throughout a screen (i.e. editor layout) to determine
which editors will get updated during playback, instead of only
certain editors doing certain things at vague times.
---
Also, I moved some version patches pre 2.56 version bump into a
version-check for 2.56. These must've been missed when doing the
release...
Diffstat (limited to 'source/blender/editors/screen')
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 1 | ||||
-rw-r--r-- | source/blender/editors/screen/screen_ops.c | 34 |
2 files changed, 9 insertions, 26 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 9a11dfaa342..65ccadacf3c 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -418,6 +418,7 @@ bScreen *ED_screen_add(wmWindow *win, Scene *scene, const char *name) sc= alloc_libblock(&G.main->screen, ID_SCR, name); sc->scene= scene; sc->do_refresh= 1; + sc->redraws_flag= TIME_ALL_3D_WIN|TIME_ALL_ANIM_WIN; sc->winid= win->winid; sv1= screen_addvert(sc, 0, 0); diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 1c203b2dd1f..5a1ba01c4e3 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -2696,36 +2696,18 @@ int ED_screen_animation_play(bContext *C, int sync, int mode) } else { ScrArea *sa= CTX_wm_area(C); - int refresh= SPACE_TIME; + int refresh= SPACE_TIME; /* these settings are currently only available from a menu in the TimeLine */ if (mode == 1) // XXX only play audio forwards!? sound_play_scene(scene); - /* timeline gets special treatment since it has it's own menu for determining redraws */ - if ((sa) && (sa->spacetype == SPACE_TIME)) { - SpaceTime *stime= (SpaceTime *)sa->spacedata.first; - - ED_screen_animation_timer(C, stime->redraws, refresh, sync, mode); - - /* update region if TIME_REGION was set, to leftmost 3d window */ - ED_screen_animation_timer_update(screen, stime->redraws, refresh); - } - else { - int redraws = TIME_REGION|TIME_ALL_3D_WIN; - - /* XXX - would like a better way to deal with this situation - Campbell */ - if ((!sa) || (sa->spacetype == SPACE_SEQ)) { - redraws |= TIME_SEQ; - } - - ED_screen_animation_timer(C, redraws, refresh, sync, mode); + ED_screen_animation_timer(C, screen->redraws_flag, refresh, sync, mode); + + if (screen->animtimer) { + wmTimer *wt= screen->animtimer; + ScreenAnimData *sad= wt->customdata; - if(screen->animtimer) { - wmTimer *wt= screen->animtimer; - ScreenAnimData *sad= wt->customdata; - - sad->ar= CTX_wm_region(C); - } + sad->ar= CTX_wm_region(C); } } @@ -2763,7 +2745,7 @@ static int screen_animation_cancel_exec(bContext *C, wmOperator *UNUSED(op)) { bScreen *screen= CTX_wm_screen(C); - if(screen->animtimer) { + if (screen->animtimer) { ScreenAnimData *sad= screen->animtimer->customdata; Scene *scene= CTX_data_scene(C); |