From f968256b42bd816328f0510d5576246a564b15a6 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 26 Nov 2018 15:50:59 +1100 Subject: Fix T58027: Scene.ray_cast crash Reintroduce BASE_VISIBLE_BGMODE D3987 by @Soundwave --- source/blender/editors/transform/transform_snap_object.c | 2 +- source/blender/makesdna/DNA_scene_types.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c index 64ae9d4c018..0fdb9b54726 100644 --- a/source/blender/editors/transform/transform_snap_object.c +++ b/source/blender/editors/transform/transform_snap_object.c @@ -211,7 +211,7 @@ static void iter_snap_objects( Base *base_act = view_layer->basact; for (Base *base = view_layer->object_bases.first; base != NULL; base = base->next) { - if ((BASE_VISIBLE(v3d, base)) && (base->flag_legacy & BA_SNAP_FIX_DEPS_FIASCO) == 0 && + if ((BASE_VISIBLE_BGMODE(v3d, base)) && (base->flag_legacy & BA_SNAP_FIX_DEPS_FIASCO) == 0 && !((snap_select == SNAP_NOT_SELECTED && ((base->flag & BASE_SELECTED) || (base->flag_legacy & BA_WAS_SEL))) || (snap_select == SNAP_NOT_ACTIVE && base == base_act))) { diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 92a1d6309ea..7ab4187de1a 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1836,6 +1836,10 @@ extern const char *RE_engine_id_CYCLES; (((v3d)->localvd == NULL) || ((v3d)->local_view_uuid & (base)->local_view_bits)) && \ (((1 << (base)->object->type) & (v3d)->object_type_exclude_viewport) == 0) && \ (((base)->flag & BASE_VISIBLE) != 0)) +#define BASE_VISIBLE_BGMODE(v3d, base) ( \ + ((v3d == NULL) || ((v3d)->localvd == NULL) || ((v3d)->local_view_uuid & (base)->local_view_bits)) && \ + ((v3d == NULL) || (((1 << (base)->object->type) & (v3d)->object_type_exclude_viewport) == 0)) && \ + (((base)->flag & BASE_VISIBLE) != 0)) #define FIRSTBASE(_view_layer) ((_view_layer)->object_bases.first) #define LASTBASE(_view_layer) ((_view_layer)->object_bases.last) -- cgit v1.2.3