From ccc625ce2390cd497bbbbb87d291ddfcdf06a411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 9 Jun 2017 15:01:16 +0200 Subject: [PATCH] Eevee: Fix crash when saving file / opengl render. --- source/blender/draw/engines/eevee/eevee_probes.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/blender/draw/engines/eevee/eevee_probes.c b/source/blender/draw/engines/eevee/eevee_probes.c index c7f7cece843..cb20e14fe79 100644 --- a/source/blender/draw/engines/eevee/eevee_probes.c +++ b/source/blender/draw/engines/eevee/eevee_probes.c @@ -500,7 +500,6 @@ void EEVEE_probes_refresh(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) Object *ob; const DRWContextState *draw_ctx = DRW_context_state_get(); RegionView3D *rv3d = draw_ctx->rv3d; - struct wmWindowManager *wm = CTX_wm_manager(draw_ctx->evil_C); /* Render world in priority */ if (e_data.update_world) { @@ -518,9 +517,12 @@ void EEVEE_probes_refresh(EEVEE_SceneLayerData *sldata, EEVEE_PassList *psl) } else if (true) { /* TODO if at least one probe needs refresh */ - /* Only compute probes if not navigating or in playback */ - if (((rv3d->rflag & RV3D_NAVIGATING) != 0) || ED_screen_animation_no_scrub(wm) != NULL) { - return; + if (draw_ctx->evil_C != NULL) { + /* Only compute probes if not navigating or in playback */ + struct wmWindowManager *wm = CTX_wm_manager(draw_ctx->evil_C); + if (((rv3d->rflag & RV3D_NAVIGATING) != 0) || ED_screen_animation_no_scrub(wm) != NULL) { + return; + } } for (int i = 1; (ob = pinfo->probes_ref[i]) && (i < MAX_PROBE); i++) {