From b77d4a8f60a1b43eee76678d8d2ba1a246e8ef85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 18 Jul 2025 15:59:53 +0200 Subject: [PATCH] Fix #142259: Overlay: Velocity drawing outside of cache range causes crash The check for ensuring active frame is in cache range was wrong and would still try to draw the velocity. Candidate for 4.5 LTS. Pull Request: https://projects.blender.org/blender/blender/pulls/142332 --- source/blender/draw/engines/overlay/overlay_fluid.hh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/blender/draw/engines/overlay/overlay_fluid.hh b/source/blender/draw/engines/overlay/overlay_fluid.hh index 131a489ee2d..2b9972bb27e 100644 --- a/source/blender/draw/engines/overlay/overlay_fluid.hh +++ b/source/blender/draw/engines/overlay/overlay_fluid.hh @@ -103,7 +103,7 @@ class Fluids : Overlay { } const bool is_active_frame_after_cache_start = state.scene->r.cfra >= fds->cache_frame_start; - const bool is_active_frame_before_cache_end = state.scene->r.cfra >= fds->cache_frame_start; + const bool is_active_frame_before_cache_end = state.scene->r.cfra <= fds->cache_frame_end; const bool is_active_frame_in_cache_range = is_active_frame_after_cache_start && is_active_frame_before_cache_end; if (!is_active_frame_in_cache_range) { @@ -132,8 +132,7 @@ class Fluids : Overlay { int slice_axis = slide_axis_get(*fds); - const bool draw_velocity = (fds->draw_velocity && is_active_frame_after_cache_start); - if (draw_velocity) { + if (fds->draw_velocity) { int lines_per_voxel = -1; PassSimple::Sub *sub_pass = nullptr; switch (fds->vector_draw_type) {