Commit: bf0dc7ee19a1bb52e9f1061c4224eb23c13b49f6
Author: Bastien Montagne
Date:   Fri Jun 22 16:58:44 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBbf0dc7ee19a1bb52e9f1061c4224eb23c13b49f6

Cleanup: use standard BKE_object_free_derived_caches in BKE_mesh_to_curve.

...Instead of doing own dirty/risky version of the same thing!

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

M       source/blender/blenkernel/intern/mesh_convert.c

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

diff --git a/source/blender/blenkernel/intern/mesh_convert.c 
b/source/blender/blenkernel/intern/mesh_convert.c
index fb438bec7fd..3fc5d1ca51c 100644
--- a/source/blender/blenkernel/intern/mesh_convert.c
+++ b/source/blender/blenkernel/intern/mesh_convert.c
@@ -817,7 +817,6 @@ void BKE_mesh_to_curve(Main *bmain, Depsgraph *depsgraph, 
Scene *scene, Object *
        /* make new mesh data from the original copy */
        Mesh *me_eval = mesh_get_eval_final(depsgraph, scene, ob, CD_MASK_MESH);
        ListBase nurblist = {NULL, NULL};
-       bool needsFree = false;
 
        BKE_mesh_to_curve_nurblist(me_eval, &nurblist, 0);
        BKE_mesh_to_curve_nurblist(me_eval, &nurblist, 1);
@@ -832,30 +831,7 @@ void BKE_mesh_to_curve(Main *bmain, Depsgraph *depsgraph, 
Scene *scene, Object *
                ob->data = cu;
                ob->type = OB_CURVE;
 
-               /* curve objects can't contain DM in usual cases, we could free 
memory */
-               needsFree = true;
-       }
-
-       /* Just to avoid dangling pointer, dm will be removed. */
-       {
-               DerivedMesh *dm = ob->derivedFinal;
-               if (dm != NULL) {
-                       dm->needsFree = needsFree;
-                       dm->release(dm);
-               }
-       }
-
-       if (needsFree) {
-               BKE_mesh_free(me_eval);
-
-               ob->derivedFinal = NULL;
-               ob->runtime.mesh_eval = NULL;
-
-               /* curve object could have got bounding box only in special 
cases */
-               if (ob->bb) {
-                       MEM_freeN(ob->bb);
-                       ob->bb = NULL;
-               }
+               BKE_object_free_derived_caches(ob);
        }
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to