diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-01-17 12:35:06 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-01-17 12:39:42 +0300 |
commit | 10ce5af2ddf2b06865dcf317fce264be615509e8 (patch) | |
tree | 8dabbb3afaa4bf2908b131325282dee4c481f24a /source/blender/draw/engines/eevee/eevee_occlusion.c | |
parent | 2094bbd033f330dad062cc641a4fa440b6e391a0 (diff) |
Revert "Fix use-after free in DRW_shader_create_with_lib"
Caused an error entering edit-mode.
d60f26f37a & 2659500835
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_occlusion.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_occlusion.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_occlusion.c b/source/blender/draw/engines/eevee/eevee_occlusion.c index bf76e9350a1..0ae5fb91db3 100644 --- a/source/blender/draw/engines/eevee/eevee_occlusion.c +++ b/source/blender/draw/engines/eevee/eevee_occlusion.c @@ -49,12 +49,12 @@ extern char datatoc_effect_gtao_frag_glsl[]; static void eevee_create_shader_occlusion(void) { - char *frag_str; - - DRW_shader_create_lib(frag_str, - datatoc_bsdf_common_lib_glsl, - datatoc_ambient_occlusion_lib_glsl, - datatoc_effect_gtao_frag_glsl); + DynStr *ds_frag = BLI_dynstr_new(); + BLI_dynstr_append(ds_frag, datatoc_bsdf_common_lib_glsl); + BLI_dynstr_append(ds_frag, datatoc_ambient_occlusion_lib_glsl); + BLI_dynstr_append(ds_frag, datatoc_effect_gtao_frag_glsl); + char *frag_str = BLI_dynstr_get_cstring(ds_frag); + BLI_dynstr_free(ds_frag); e_data.gtao_sh = DRW_shader_create_fullscreen(frag_str, NULL); e_data.gtao_layer_sh = DRW_shader_create_fullscreen(frag_str, "#define LAYERED_DEPTH\n"); |