Commit: 4f23e130019bb5a41898df532365e97330ec258a
Author: Clément Foucault
Date:   Wed Mar 7 01:39:09 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB4f23e130019bb5a41898df532365e97330ec258a

DRW: Fix memory leak.

This prevents the creation of a new job if no job is running.

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

M       source/blender/draw/intern/draw_manager_shader.c

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

diff --git a/source/blender/draw/intern/draw_manager_shader.c 
b/source/blender/draw/intern/draw_manager_shader.c
index 0e96c726999..5ab373ee484 100644
--- a/source/blender/draw/intern/draw_manager_shader.c
+++ b/source/blender/draw/intern/draw_manager_shader.c
@@ -209,6 +209,10 @@ void DRW_deferred_shader_remove(GPUMaterial *mat)
        Scene *scene = GPU_material_scene(mat);
 
        for (wmWindowManager *wm = G.main->wm.first; wm; wm = wm->id.next) {
+               if (WM_jobs_test(wm, scene, WM_JOB_TYPE_SHADER_COMPILATION) == 
false) {
+                       /* No job running, do not create a new one by calling 
WM_jobs_get. */
+                       continue;
+               }
                for (wmWindow *win = wm->windows.first; win; win = win->next) {
                        wmJob *wm_job = WM_jobs_get(wm, win, scene, "Shaders 
Compilation",
                                                    WM_JOB_PROGRESS | 
WM_JOB_SUSPEND, WM_JOB_TYPE_SHADER_COMPILATION);

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to