[Bf-blender-cvs] [ae3e59fb618] blender2.8: Fix T55380: Crash when getting out of EditMode in some cases

Sergey Sharybin noreply at git.blender.org
Fri Jun 8 14:38:06 CEST 2018


Commit: ae3e59fb6181cf1e2ca0788dbec638270aac6c23
Author: Sergey Sharybin
Date:   Fri Jun 8 14:36:26 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBae3e59fb6181cf1e2ca0788dbec638270aac6c23

Fix T55380: Crash when getting out of EditMode in some cases

Derived meshes are to be dead, so soon this code will be removed as well.

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

M	source/blender/editors/sculpt_paint/sculpt.c

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

diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index ad8ed59ff5c..70a8c725284 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -5665,6 +5665,15 @@ void ED_object_sculptmode_enter_ex(
 		BKE_sculptsession_free(ob);
 	}
 
+	/* Make sure derived final from original object does not reference possibly
+	 * freed memory.
+	 */
+	if (ob->derivedFinal != NULL) {
+		ob->derivedFinal->needsFree = true;
+		ob->derivedFinal->release(ob->derivedFinal);
+		ob->derivedFinal = NULL;
+	}
+
 	sculpt_init_session(depsgraph, scene, ob);
 
 	/* Mask layer is required */



More information about the Bf-blender-cvs mailing list