diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-06-09 16:01:16 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-06-09 16:01:32 +0300 |
commit | ccc625ce2390cd497bbbbb87d291ddfcdf06a411 (patch) | |
tree | 6dcab63c304e767bfc6811c04e7571db53f9c7be /source/blender | |
parent | ee93bc806ba8d51f754e20b30eb041fa4ec99b5f (diff) |
Eevee: Fix crash when saving file / opengl render.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_probes.c | 10 |
1 files 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++) { |