[Bf-blender-cvs] [f968256b42b] blender2.8: Fix T58027: Scene.ray_cast crash
Campbell Barton
noreply at git.blender.org
Mon Nov 26 05:53:00 CET 2018
Commit: f968256b42bd816328f0510d5576246a564b15a6
Author: Campbell Barton
Date: Mon Nov 26 15:50:59 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBf968256b42bd816328f0510d5576246a564b15a6
Fix T58027: Scene.ray_cast crash
Reintroduce BASE_VISIBLE_BGMODE
D3987 by @Soundwave
===================================================================
M source/blender/editors/transform/transform_snap_object.c
M source/blender/makesdna/DNA_scene_types.h
===================================================================
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)
More information about the Bf-blender-cvs
mailing list