[Bf-blender-cvs] [1fc446a9087] master: Fix recent snap refactor
Germano Cavalcante
noreply at git.blender.org
Sat Apr 17 21:52:18 CEST 2021
Commit: 1fc446a9087b8c662f514884a37518078bad6161
Author: Germano Cavalcante
Date: Sat Apr 17 16:34:54 2021 -0300
Branches: master
https://developer.blender.org/rB1fc446a9087b8c662f514884a37518078bad6161
Fix recent snap refactor
It is important to check if editmesh eval cage is also bmesh.
===================================================================
M source/blender/editors/transform/transform_snap_object.c
===================================================================
diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c
index 841c3e86008..fcb4d46358b 100644
--- a/source/blender/editors/transform/transform_snap_object.c
+++ b/source/blender/editors/transform/transform_snap_object.c
@@ -144,11 +144,6 @@ struct SnapObjectContext {
/** \name Utilities
* \{ */
-static bool editmesh_eval_final_is_bmesh(const BMEditMesh *em)
-{
- return (em->mesh_eval_final->runtime.wrapper_type == ME_WRAPPER_TYPE_BMESH);
-}
-
/* Mesh used for snapping.
* If NULL the BMesh should be used. */
static Mesh *mesh_for_snap(Object *ob, eSnapEditType edit_mode_type, bool *r_use_hide)
@@ -156,16 +151,22 @@ static Mesh *mesh_for_snap(Object *ob, eSnapEditType edit_mode_type, bool *r_use
Mesh *me = ob->data;
bool use_hide = false;
if (BKE_object_is_in_editmode(ob)) {
- if ((edit_mode_type == SNAP_GEOM_EDIT) || editmesh_eval_final_is_bmesh(me->edit_mesh)) {
+ if (edit_mode_type == SNAP_GEOM_EDIT) {
return NULL;
}
BMEditMesh *em = BKE_editmesh_from_object(ob);
if ((edit_mode_type == SNAP_GEOM_FINAL) && em->mesh_eval_final) {
+ if (em->mesh_eval_final->runtime.wrapper_type == ME_WRAPPER_TYPE_BMESH) {
+ return NULL;
+ }
me = em->mesh_eval_final;
use_hide = true;
}
else if ((edit_mode_type == SNAP_GEOM_CAGE) && em->mesh_eval_cage) {
+ if (em->mesh_eval_cage->runtime.wrapper_type == ME_WRAPPER_TYPE_BMESH) {
+ return NULL;
+ }
me = em->mesh_eval_cage;
use_hide = true;
}
More information about the Bf-blender-cvs
mailing list