[Bf-blender-cvs] [96628038332] master: Fix error using wrong theme settings w/ depth draw

Campbell Barton noreply at git.blender.org
Thu Aug 24 15:20:03 CEST 2017


Commit: 9662803833264668322b5ce10f28c852340d6445
Author: Campbell Barton
Date:   Thu Aug 24 23:19:27 2017 +1000
Branches: master
https://developer.blender.org/rB9662803833264668322b5ce10f28c852340d6445

Fix error using wrong theme settings w/ depth draw

Clicks events before first draw would assert,
unlikely to cause user visible errors but
would assert in UI_ThemeGetColorPtr.

===================================================================

M	source/blender/editors/space_view3d/view3d_draw.c

===================================================================

diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 6f8120a747b..56508ea989a 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2471,6 +2471,7 @@ static void view3d_draw_depth_loop(Scene *scene, ARegion *ar, View3D *v3d)
 
 void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool alphaoverride)
 {
+	struct bThemeState theme_state;
 	RegionView3D *rv3d = ar->regiondata;
 	short zbuf = v3d->zbuf;
 	short flag = v3d->flag;
@@ -2483,6 +2484,10 @@ void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool alphaover
 	U.glalphaclip = alphaoverride ? 0.5f : glalphaclip; /* not that nice but means we wont zoom into billboards */
 	U.obcenter_dia = 0;
 	
+	/* Tools may request depth outside of regular drawing code. */
+	UI_Theme_Store(&theme_state);
+	UI_SetTheme(SPACE_VIEW3D, RGN_TYPE_WINDOW);
+
 	/* Setup view matrix. */
 	ED_view3d_draw_setup_view(NULL, scene, ar, v3d, rv3d->viewmat, rv3d->winmat, NULL);
 	
@@ -2510,6 +2515,8 @@ void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool alphaover
 	U.glalphaclip = glalphaclip;
 	v3d->flag = flag;
 	U.obcenter_dia = obcenter_dia;
+
+	UI_Theme_Restore(&theme_state);
 }
 
 void ED_view3d_draw_select_loop(



More information about the Bf-blender-cvs mailing list