[Bf-blender-cvs] [8fa42f0bd4e] blender-v2.90-release: Fix T79604: Switching to edit mode on boolean object runs out of memory.

Bastien Montagne noreply at git.blender.org
Fri Aug 7 17:08:20 CEST 2020


Commit: 8fa42f0bd4e84b49fbba64df771bf63da5b6477d
Author: Bastien Montagne
Date:   Fri Aug 7 17:07:30 2020 +0200
Branches: blender-v2.90-release
https://developer.blender.org/rB8fa42f0bd4e84b49fbba64df771bf63da5b6477d

Fix T79604: Switching to edit mode on boolean object runs out of memory.

Note that this is a dummy safe fix for now, far from optimal.

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

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

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

diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c
index 1d39aa786a5..35aa7805db8 100644
--- a/source/blender/modifiers/intern/MOD_boolean.c
+++ b/source/blender/modifiers/intern/MOD_boolean.c
@@ -44,6 +44,7 @@
 #include "BKE_lib_query.h"
 #include "BKE_material.h"
 #include "BKE_mesh.h"
+#include "BKE_mesh_wrapper.h"
 #include "BKE_modifier.h"
 #include "BKE_screen.h"
 
@@ -177,6 +178,9 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
 
   Object *other = bmd->object;
   mesh_other = BKE_modifier_get_evaluated_mesh_from_evaluated_object(other, false);
+  /* XXX This is utterly non-optimal, we may go from a bmesh to a mesh back to a bmesh!
+   * But for 2.90 better not try to be smart here. */
+  BKE_mesh_wrapper_ensure_mdata(mesh_other);
   if (mesh_other) {
     Object *object = ctx->object;



More information about the Bf-blender-cvs mailing list