[Bf-blender-cvs] [18355a505df] curve-nodes-modifier: Fix error, assert for null mesh result at start

Hans Goudey noreply at git.blender.org
Tue Jul 13 01:40:41 CEST 2021


Commit: 18355a505df8bf575c26e349d71c444f578fb302
Author: Hans Goudey
Date:   Fri Jun 18 10:21:17 2021 -0500
Branches: curve-nodes-modifier
https://developer.blender.org/rB18355a505df8bf575c26e349d71c444f578fb302

Fix error, assert for null mesh result at start

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

M	source/blender/blenkernel/intern/displist.cc

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

diff --git a/source/blender/blenkernel/intern/displist.cc b/source/blender/blenkernel/intern/displist.cc
index 143dffa8ed7..a17255fa26d 100644
--- a/source/blender/blenkernel/intern/displist.cc
+++ b/source/blender/blenkernel/intern/displist.cc
@@ -844,7 +844,10 @@ static void curve_calc_modifiers_post(Depsgraph *depsgraph,
                                       GeometrySet **r_geometry_set)
 {
   const Curve *cu = (const Curve *)ob->data;
-
+  if (r_final) {
+    /* The result mesh should already be cleared by the caller. */
+    BLI_assert(*r_final == nullptr);
+  }
   const bool editmode = (!for_render && (cu->editnurb || cu->editfont));
   const bool use_cache = !for_render;
 
@@ -867,14 +870,13 @@ static void curve_calc_modifiers_post(Depsgraph *depsgraph,
   ModifierData *md = pretessellatePoint == nullptr ?
                          BKE_modifiers_get_virtual_modifierlist(ob, &virtualModifierData) :
                          pretessellatePoint->next;
-
-  if (r_final && *r_final) {
-    BKE_id_free(nullptr, *r_final);
+  if (md == nullptr) {
+    return;
   }
 
   Mesh *modified = nullptr;
   GeometrySet geometry_set;
-  if (md && md->type == eModifierType_Nodes) {
+  if (md->type == eModifierType_Nodes) {
     geometry_set.replace_curve(curve_eval_from_dna_curve(*cu).release());
   }
   else {



More information about the Bf-blender-cvs mailing list