Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastián Barschkis <sebbas@sebbas.org>2020-11-03 15:21:07 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2020-11-03 15:21:07 +0300
commitdf2a0cd6f419c5b359c29d2aa149f864629c304e (patch)
tree8210d0820decee40ba3b8cf0d0e8375a0fa2597e /source/blender/draw/engines
parentfc9f1b1754bbafa262f875969f7e1bb2554802a3 (diff)
Fluid: Fix crash with viewport display options
Overlay extras should not be drawn outside of the fluid domain cache range.
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r--source/blender/draw/engines/overlay/overlay_extra.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_extra.c b/source/blender/draw/engines/overlay/overlay_extra.c
index 09061450a1a..adb0dc22e16 100644
--- a/source/blender/draw/engines/overlay/overlay_extra.c
+++ b/source/blender/draw/engines/overlay/overlay_extra.c
@@ -1586,10 +1586,13 @@ void OVERLAY_extra_cache_populate(OVERLAY_Data *vedata, Object *ob)
const bool draw_xform = draw_ctx->object_mode == OB_MODE_OBJECT &&
(scene->toolsettings->transform_flag & SCE_XFORM_DATA_ORIGIN) &&
(ob->base_flag & BASE_SELECTED) && !is_select_mode;
+ /* Don't show fluid domain overlay extras outside of cache range. */
const bool draw_volume = !from_dupli &&
(md = BKE_modifiers_findby_type(ob, eModifierType_Fluid)) &&
(BKE_modifier_is_enabled(scene, md, eModifierMode_Realtime)) &&
- (((FluidModifierData *)md)->domain != NULL);
+ (((FluidModifierData *)md)->domain != NULL) &&
+ (CFRA >= (((FluidModifierData *)md)->domain->cache_frame_start)) &&
+ (CFRA <= (((FluidModifierData *)md)->domain->cache_frame_end));
float *color;
int theme_id = DRW_object_wire_theme_get(ob, view_layer, &color);