diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c index 97da05e3f76..9edf4fab280 100644 --- a/source/blender/editors/space_clip/space_clip.c +++ b/source/blender/editors/space_clip/space_clip.c @@ -244,7 +244,6 @@ static void clip_listener(ScrArea *sa, wmNotifier *wmn) /* no break! */ case ND_FRAME_RANGE: - ED_area_tag_refresh(sa); ED_area_tag_redraw(sa); break; } @@ -611,6 +610,16 @@ static void clip_refresh(const bContext *C, ScrArea *sa) ar_main->alignment= RGN_ALIGN_NONE; view_changed= 1; } + if (ar_preview && ar_preview->alignment != RGN_ALIGN_NONE) { + /* store graph region align */ + if (ar_preview->alignment == RGN_ALIGN_TOP) + sc->runtime_flag &= ~SC_GRAPH_BOTTOM; + else + sc->runtime_flag |= SC_GRAPH_BOTTOM; + + ar_preview->alignment= RGN_ALIGN_NONE; + view_changed= 1; + } break; case SC_VIEW_GRAPH: if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) { @@ -624,7 +633,11 @@ static void clip_refresh(const bContext *C, ScrArea *sa) view_changed= 1; } if (ar_preview && !ELEM(ar_preview->alignment, RGN_ALIGN_TOP, RGN_ALIGN_BOTTOM)) { - ar_preview->alignment= RGN_ALIGN_TOP; + if (sc->runtime_flag & SC_GRAPH_BOTTOM) + ar_preview->alignment= RGN_ALIGN_BOTTOM; + else + ar_preview->alignment= RGN_ALIGN_TOP; + view_changed= 1; } break; diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index ed724ae5807..bcdeff6cf1b 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -520,7 +520,9 @@ typedef struct SpaceClip { defined when drawing and used for mouse position calculation */ /* movie postprocessing */ - int postproc_flag, pad2; + int postproc_flag; + + int runtime_flag; /* different runtime flags */ } SpaceClip; /* view3d Now in DNA_view3d_types.h */ @@ -912,6 +914,9 @@ enum { #define SC_VIEW_CLIP 0 #define SC_VIEW_GRAPH 1 +/* SpaceClip->runtime_flag */ +#define SC_GRAPH_BOTTOM (1<<0) + /* space types, moved from DNA_screen_types.h */ /* Do NOT change order, append on end. types are hardcoded needed */ enum {