diff options
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/intern/draw_cache.c | 3 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_manager.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/draw/intern/draw_cache.c b/source/blender/draw/intern/draw_cache.c index 0256564ffb5..717fd69149c 100644 --- a/source/blender/draw/intern/draw_cache.c +++ b/source/blender/draw/intern/draw_cache.c @@ -3808,10 +3808,11 @@ void drw_batch_cache_generate_requested(Object *ob) const enum eContextObjectMode mode = CTX_data_mode_enum_ex( draw_ctx->object_edit, draw_ctx->obact, draw_ctx->object_mode); const bool is_paint_mode = ELEM(mode, CTX_MODE_PAINT_TEXTURE, CTX_MODE_PAINT_VERTEX, CTX_MODE_PAINT_WEIGHT); + const bool use_hide = ( (ob->type == OB_MESH) && ((is_paint_mode && (ob == draw_ctx->obact) && - (BKE_paint_select_face_test(ob) || BKE_paint_select_vert_test(ob))) || + DRW_object_use_hide_faces(ob)) || ((mode == CTX_MODE_EDIT_MESH) && BKE_object_is_in_editmode(ob)))); struct Mesh *mesh_eval = ob->runtime.mesh_eval; diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index cde7b283976..a96ef4ed8fa 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -200,7 +200,7 @@ bool DRW_object_is_flat_normal(const Object *ob) bool DRW_object_use_hide_faces(const struct Object *ob) { if (ob->type == OB_MESH) { - const Mesh *me = DEG_get_original_object((Object *)ob)->data; + const Mesh *me = ob->data; switch (ob->mode) { case OB_MODE_TEXTURE_PAINT: |