Commit: 9899999e944c0d954dbe5a7aa96c8e1680e7b3f8
Author: Sergey Sharybin
Date:   Fri May 31 17:03:40 2019 +0200
Branches: master
https://developer.blender.org/rB9899999e944c0d954dbe5a7aa96c8e1680e7b3f8

Fix crash on certain changes in edit mode

Was missing re-set evaluated mesh to NULL.

Fix T65302: Crash after selecting one of multiple materials
Fix T65346: Blender crashes when selecting material in editing mode and LookDev 
view
Fix T65344: Blender crashes in edit mode when changing object

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

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

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

diff --git a/source/blender/blenkernel/intern/object.c 
b/source/blender/blenkernel/intern/object.c
index 675239244a8..d4045e57e0b 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -460,13 +460,15 @@ void BKE_object_free_derived_caches(Object *ob)
     ob->data = ob->runtime.mesh_orig;
   }
 
-  if ((ob->runtime.mesh_eval != NULL && ob->runtime.is_mesh_eval_owned)) {
-    Mesh *mesh_eval = ob->runtime.mesh_eval;
-    /* Evaluated mesh points to edit mesh, but does not own it. */
-    mesh_eval->edit_mesh = NULL;
-    BKE_mesh_free(mesh_eval);
-    BKE_libblock_free_data(&mesh_eval->id, false);
-    MEM_freeN(mesh_eval);
+  if (ob->runtime.mesh_eval != NULL) {
+    if (ob->runtime.is_mesh_eval_owned) {
+      Mesh *mesh_eval = ob->runtime.mesh_eval;
+      /* Evaluated mesh points to edit mesh, but does not own it. */
+      mesh_eval->edit_mesh = NULL;
+      BKE_mesh_free(mesh_eval);
+      BKE_libblock_free_data(&mesh_eval->id, false);
+      MEM_freeN(mesh_eval);
+    }
     ob->runtime.mesh_eval = NULL;
   }
   if (ob->runtime.mesh_deform_eval != NULL) {

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to