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
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-08-18 13:57:42 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-08-18 13:58:15 +0300
commit353e691ff96155bcab879a74663b04ff69a4c9b4 (patch)
tree80004245e5c026850b5ac36939fe464aedf95e4b /source/blender/draw/intern/draw_manager_shader.c
parent9f25b2f278c3c5609828d5ac780c9f8dbadd9be2 (diff)
DRW: Fix crash in defered compilation
Diffstat (limited to 'source/blender/draw/intern/draw_manager_shader.c')
-rw-r--r--source/blender/draw/intern/draw_manager_shader.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_manager_shader.c b/source/blender/draw/intern/draw_manager_shader.c
index 2730a9f518e..0c44acb3f9c 100644
--- a/source/blender/draw/intern/draw_manager_shader.c
+++ b/source/blender/draw/intern/draw_manager_shader.c
@@ -219,7 +219,6 @@ static void drw_deferred_shader_add(GPUMaterial *mat, bool deferred)
void DRW_deferred_shader_remove(GPUMaterial *mat)
{
Scene *scene = GPU_material_scene(mat);
- scene = (Scene *)DEG_get_original_id(&DST.draw_ctx.scene->id);
for (wmWindowManager *wm = G_MAIN->wm.first; wm; wm = wm->id.next) {
if (WM_jobs_test(wm, scene, WM_JOB_TYPE_SHADER_COMPILATION) == false) {
@@ -354,6 +353,7 @@ GPUMaterial *DRW_shader_create_from_world(
}
if (mat == NULL) {
+ scene = (Scene *)DEG_get_original_id(&DST.draw_ctx.scene->id);
mat = GPU_material_from_nodetree(
scene, wo->nodetree, &wo->gpumaterial, engine_type, options,
vert, geom, frag_lib, defines, wo->id.name);
@@ -376,6 +376,7 @@ GPUMaterial *DRW_shader_create_from_material(
}
if (mat == NULL) {
+ scene = (Scene *)DEG_get_original_id(&DST.draw_ctx.scene->id);
mat = GPU_material_from_nodetree(
scene, ma->nodetree, &ma->gpumaterial, engine_type, options,
vert, geom, frag_lib, defines, ma->id.name);