[Bf-blender-cvs] [f59728b3ea0] blender2.8: Object selection: Fixing cases where old selection flag was used
Dalai Felinto
noreply at git.blender.org
Wed Dec 13 19:27:36 CET 2017
Commit: f59728b3ea0b1782b8d62fefd0a0bc27b70da51a
Author: Dalai Felinto
Date: Wed Dec 13 16:24:37 2017 -0200
Branches: blender2.8
https://developer.blender.org/rBf59728b3ea0b1782b8d62fefd0a0bc27b70da51a
Object selection: Fixing cases where old selection flag was used
Basically these operators (select grouped object hooks and object select mode/less)
were not working in 2.8.
===================================================================
M source/blender/editors/object/object_select.c
===================================================================
diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c
index 552380cebdb..b20fe9a004c 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -625,9 +625,9 @@ static bool select_grouped_object_hooks(bContext *C, Object *ob)
for (md = ob->modifiers.first; md; md = md->next) {
if (md->type == eModifierType_Hook) {
hmd = (HookModifierData *) md;
- if (hmd->object && !(hmd->object->flag & SELECT)) {
+ if (hmd->object) {
base = BKE_view_layer_base_find(view_layer, hmd->object);
- if (base && (BASE_SELECTABLE(base))) {
+ if (base && ((base->flag & BASE_SELECTED) == 0) && (BASE_SELECTABLE(base))) {
ED_object_base_select(base, BA_SELECT);
changed = true;
}
@@ -1107,12 +1107,12 @@ static bool object_select_more_less(bContext *C, const bool select)
bool changed = false;
const short select_mode = select ? BA_SELECT : BA_DESELECT;
- const short select_flag = select ? SELECT : 0;
+ const short select_flag = select ? BASE_SELECTED : 0;
for (ctx_base = ctx_base_list.first; ctx_base; ctx_base = ctx_base->next) {
Base *base = ctx_base->ptr.data;
Object *ob = base->object;
- if ((ob->id.tag & LIB_TAG_DOIT) && ((ob->flag & SELECT) != select_flag)) {
+ if ((ob->id.tag & LIB_TAG_DOIT) && ((base->flag & BASE_SELECTED) != select_flag)) {
ED_object_base_select(base, select_mode);
changed = true;
}
More information about the Bf-blender-cvs
mailing list