diff options
author | Antonioya <blendergit@gmail.com> | 2018-06-21 17:10:52 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2018-06-21 17:11:29 +0300 |
commit | c45a3b80e2356a952248eaafaeeec48b28bcb0fd (patch) | |
tree | d82b50aa93606afb66ecf8df6ebe0d8adacb604e /source/blender/render | |
parent | b350edc20750929ee132e5b78fa25221e893ffc3 (diff) |
Fix T55555: Crash when select material properties
This error is only in Windows and Mac when select in properties the material tab.
This commit revert dc856be8399242f4ee3a2ce0450b7ac5a20b35f6 Preview: Add own opengl context to render preview images.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 2 | ||||
-rw-r--r-- | source/blender/render/intern/include/render_types.h | 1 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 19 |
3 files changed, 1 insertions, 21 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index bde3c1c8cb3..a51e7af9d9d 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -312,10 +312,8 @@ void RE_draw_lock_cb (struct Render *re, void *handle, void (*f)(void *handle, void RE_test_break_cb (struct Render *re, void *handle, int (*f)(void *handle)); void RE_current_scene_update_cb(struct Render *re, void *handle, void (*f)(void *handle, struct Scene *scene)); -/* TODO replace by a simple set and get draw manager. */ void RE_gl_context_create(Render *re); void RE_gl_context_destroy(Render *re); -void RE_gl_context_set(Render *re, void *gl_context); void *RE_gl_context_get(Render *re); void *RE_gwn_context_get(Render *re); diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index 134fa56f01c..34535fba1e0 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -161,7 +161,6 @@ struct Render { /* TODO replace by a whole draw manager. */ void *gl_context; void *gwn_context; - bool gl_context_ownership; }; /* **************** defines ********************* */ diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 14ef7a3cb94..361324bf07c 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -1030,13 +1030,10 @@ void RE_test_break_cb(Render *re, void *handle, int (*f)(void *handle)) /* ********* GL Context ******** */ -/* Create the gl context of the Render. - * It will be free by the render itself. */ void RE_gl_context_create(Render *re) { /* Needs to be created in the main ogl thread. */ re->gl_context = WM_opengl_context_create(); - re->gl_context_ownership = true; } void RE_gl_context_destroy(Render *re) @@ -1048,22 +1045,11 @@ void RE_gl_context_destroy(Render *re) re->gwn_context = NULL; } if (re->gl_context) { - if (re->gl_context_ownership) { - WM_opengl_context_dispose(re->gl_context); - } + WM_opengl_context_dispose(re->gl_context); re->gl_context = NULL; } } -/* Manually set the gl context of the Render. - * It won't be free by the render itself. */ -void RE_gl_context_set(Render *re, void *gl_context) -{ - BLI_assert(gl_context); /* Cannot set NULL */ - re->gl_context = gl_context; - re->gl_context_ownership = false; -} - void *RE_gl_context_get(Render *re) { return re->gl_context; @@ -2646,9 +2632,6 @@ void RE_PreviewRender(Render *re, Main *bmain, Scene *sce) RE_SetCamera(re, camera); do_render_3d(re); - - /* Destroy the opengl context in the correct thread. */ - RE_gl_context_destroy(re); } /* note; repeated win/disprect calc... solve that nicer, also in compo */ |