diff --git a/source/blender/editors/transform/transform_snap_object.hh b/source/blender/editors/transform/transform_snap_object.hh index 333f82a3880..e5da3a13155 100644 --- a/source/blender/editors/transform/transform_snap_object.hh +++ b/source/blender/editors/transform/transform_snap_object.hh @@ -23,7 +23,7 @@ struct SnapObjectContext { struct SnapCache { virtual ~SnapCache(){}; }; - blender::Map> editmesh_caches; + blender::Map> editmesh_caches; /* Filter data, returns true to check this value */ struct { diff --git a/source/blender/editors/transform/transform_snap_object_editmesh.cc b/source/blender/editors/transform/transform_snap_object_editmesh.cc index e6b5def03a9..f0b17181fd2 100644 --- a/source/blender/editors/transform/transform_snap_object_editmesh.cc +++ b/source/blender/editors/transform/transform_snap_object_editmesh.cc @@ -110,7 +110,7 @@ static SnapCache_EditMesh *snap_object_data_editmesh_get(SnapObjectContext *sctx bool init = false; if (std::unique_ptr *em_cache_p = sctx->editmesh_caches.lookup_ptr( - em)) + ob_eval->runtime->data_orig)) { em_cache = static_cast(em_cache_p->get()); bool is_dirty = false; @@ -157,7 +157,7 @@ static SnapCache_EditMesh *snap_object_data_editmesh_get(SnapObjectContext *sctx else if (create) { std::unique_ptr em_cache_ptr = std::make_unique(); em_cache = em_cache_ptr.get(); - sctx->editmesh_caches.add_new(em, std::move(em_cache_ptr)); + sctx->editmesh_caches.add_new(ob_eval->runtime->data_orig, std::move(em_cache_ptr)); init = true; }