From d2383ec6c07a298a290b83ba8347618e3b46c9d9 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 13 Aug 2015 14:25:26 +0200 Subject: Fix T45783: Problem selecting all objects on a layer from a script if any 3d view is in local mode. Do not take into account lay bits used for local view, when doing exact match. --- source/blender/editors/object/object_select.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to '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 6e00875a3ae..a8e4eec640b 100644 --- a/source/blender/editors/object/object_select.c +++ b/source/blender/editors/object/object_select.c @@ -958,7 +958,8 @@ static int object_select_by_layer_exec(bContext *C, wmOperator *op) switch (match) { case OB_SEL_LAYERMATCH_EXACT: - ok = (base->lay == (1 << (layernum - 1))); + /* Mask out bits used for local view, only work on real layer ones, see T45783. */ + ok = ((base->lay & ((1 << 20) - 1)) == (1 << (layernum - 1))); break; case OB_SEL_LAYERMATCH_SHARED: ok = (base->lay & (1 << (layernum - 1))) != 0; -- cgit v1.2.3