diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-01-04 15:20:56 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-01-04 15:23:17 +0300 |
commit | c7eb83bc17f3465aa8c9c9aeb3998cc5882ac4ec (patch) | |
tree | c3214124d8954dd1e74a97f2d7723ac6b0bfa6c1 /source/blender/editors/space_view3d/view3d_draw.c | |
parent | 3447944c3f6a9afdf608c10033f090b11c15753c (diff) |
Fix sequencer border-flickering
Offscreen viewport drawing wasn't properly restoring the theme.
Add API calls to store/restore the theme so it can be temporarily overridden.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_draw.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 44c046098e2..65721d52dff 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -3012,6 +3012,7 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, float viewmat[4][4], float winmat[4][4], bool do_bgpic, bool do_sky) { + struct bThemeState theme_state; int bwinx, bwiny; rcti brect; @@ -3029,7 +3030,7 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, ar->winrct.xmax = winx; ar->winrct.ymax = winy; - /* set theme */ + UI_Theme_Store(&theme_state); UI_SetTheme(SPACE_VIEW3D, RGN_TYPE_WINDOW); /* set flags */ @@ -3076,8 +3077,7 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, glPopMatrix(); - /* XXX, without this the sequencer flickers with opengl draw enabled, need to find out why - campbell */ - glColor4ub(255, 255, 255, 255); + UI_Theme_Restore(&theme_state); G.f &= ~G_RENDER_OGL; } @@ -3148,7 +3148,7 @@ ImBuf *ED_view3d_draw_offscreen_imbuf(Scene *scene, View3D *v3d, ARegion *ar, in if (ibuf->rect_float && ibuf->rect) IMB_rect_from_float(ibuf); - + return ibuf; } |