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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-05-31 18:03:40 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-05-31 18:06:06 +0300
commit9899999e944c0d954dbe5a7aa96c8e1680e7b3f8 (patch)
treec02b12c8cdcda16d813b2923836f9962cd9d1c32 /source/blender/blenkernel/intern/object.c
parent4620bd4f799cbade2e8cd6027c37fb942d04c64a (diff)
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
Diffstat (limited to 'source/blender/blenkernel/intern/object.c')
-rw-r--r--source/blender/blenkernel/intern/object.c16
1 files changed, 9 insertions, 7 deletions
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) {