Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-03-05 23:59:36 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-03-06 00:02:50 +0300
commit6867821c4ab083bc12ed109b0a3206450621cad2 (patch)
treef292818f629f9cc2461930466f9b556b5dd8a8a0 /source
parentdbdd79fabe2934de6184c0230f91b2e8af716a7b (diff)
DRW: Fix GL state issues due to state not being reset after drawing
Callbacks were drawing with the wrong blend equation and that made some tools drawing fail.
Diffstat (limited to 'source')
-rw-r--r--source/blender/draw/intern/draw_manager.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index c678fd974f3..09a7034c674 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -1099,6 +1099,8 @@ static void drw_engines_draw_scene(void)
PROFILE_END_UPDATE(data->render_time, stime);
}
+ /* Reset state after drawing */
+ DRW_state_reset();
}
static void drw_engines_draw_text(void)
@@ -1559,7 +1561,11 @@ void DRW_draw_render_loop_ex(
DRW_draw_callbacks_post_scene();
if (DST.draw_ctx.evil_C) {
+ DRW_state_reset();
ED_region_draw_cb_draw(DST.draw_ctx.evil_C, DST.draw_ctx.ar, REGION_DRAW_POST_VIEW);
+ /* Callback can be nasty and do whatever they want with the state.
+ * Don't trust them! */
+ DRW_state_reset();
}
DRW_state_reset();