diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-06-23 10:20:35 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-06-23 10:22:42 +0400 |
commit | 95d6c014780a980ed9f1552edd4196ceefbce9b6 (patch) | |
tree | ad0dd2a76fa1622529b81d135aafd095ef04d732 /source/blender/editors | |
parent | 77f357728f708dd7a19a62110f34fa9afa5e9213 (diff) |
Fix T40756 Select Linked by Particle System matches ignores selected
psys.
This is inconsistent with other comparable cases like materials, where
the active slot is used to define matching objects.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/object/object_select.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c index b1a78407491..a5a96c694f1 100644 --- a/source/blender/editors/object/object_select.c +++ b/source/blender/editors/object/object_select.c @@ -315,22 +315,20 @@ static bool object_select_all_by_dup_group(bContext *C, Object *ob) static bool object_select_all_by_particle(bContext *C, Object *ob) { + ParticleSystem *psys_act = psys_get_current(ob); bool changed = false; CTX_DATA_BEGIN (C, Base *, base, visible_bases) { if ((base->flag & SELECT) == 0) { - /* loop through other, then actives particles*/ + /* loop through other particles*/ ParticleSystem *psys; - ParticleSystem *psys_act; - + for (psys = base->object->particlesystem.first; psys; psys = psys->next) { - for (psys_act = ob->particlesystem.first; psys_act; psys_act = psys_act->next) { - if (psys->part == psys_act->part) { - base->flag |= SELECT; - changed = true; - break; - } + if (psys->part == psys_act->part) { + base->flag |= SELECT; + changed = true; + break; } if (base->flag & SELECT) { |