[Bf-blender-cvs] [947d78b00bd] master: Multires: Fix ownership problem causing crashes

Sergey Sharybin noreply at git.blender.org
Fri Feb 22 13:35:22 CET 2019


Commit: 947d78b00bd9bbc9992504c69f060f04c2e151de
Author: Sergey Sharybin
Date:   Fri Feb 22 13:33:16 2019 +0100
Branches: master
https://developer.blender.org/rB947d78b00bd9bbc9992504c69f060f04c2e151de

Multires: Fix ownership problem causing crashes

Fixes crash when leaving multires mode.

Fixes T61836: Saving while in multires makes blender crash

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

M	source/blender/modifiers/intern/MOD_multires.c

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

diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c
index 0b3c9e1275d..aca16fe5ffe 100644
--- a/source/blender/modifiers/intern/MOD_multires.c
+++ b/source/blender/modifiers/intern/MOD_multires.c
@@ -168,6 +168,10 @@ static Mesh *applyModifier(ModifierData *md,
 		/* NOTE: CCG takes ownership over Subdiv. */
 		result = multires_as_ccg(mmd, ctx, mesh, subdiv);
 		result->runtime.subdiv_ccg_tot_level = mmd->totlvl;
+		/* NOTE: CCG becomes an owner of Subdiv descriptor, so can not share
+		 * this pointer. Not sure if it's needed, but might have a second look
+		 * on the ownership model here. */
+		mmd->subdiv = NULL;
 		// BKE_subdiv_stats_print(&subdiv->stats);
 	}
 	else {



More information about the Bf-blender-cvs mailing list