diff options
Diffstat (limited to 'source/blender/src/space.c')
-rw-r--r-- | source/blender/src/space.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/source/blender/src/space.c b/source/blender/src/space.c index 64b5742dc54..198d8140ace 100644 --- a/source/blender/src/space.c +++ b/source/blender/src/space.c @@ -897,6 +897,25 @@ static short select_same_index_object(Object *ob) return changed; } +static short select_same_color(Object *ob) +{ + char changed = 0; + Base *base = FIRSTBASE; + + if (!ob) + return 0; + + while(base) { + if (BASE_SELECTABLE(base) && !(base->flag & SELECT) && (FloatCompare(base->object->col, ob->col, 0.005))) { + base->flag |= SELECT; + base->object->flag |= SELECT; + changed = 1; + } + base= base->next; + } + return changed; +} + void select_object_grouped(short nr) { short changed = 0; @@ -909,6 +928,7 @@ void select_object_grouped(short nr) else if(nr==7) changed = select_same_group(OBACT); else if(nr==8) changed = select_object_hooks(OBACT); else if(nr==9) changed = select_same_index_object(OBACT); + else if(nr==10) changed = select_same_color(OBACT); if (changed) { countall(); @@ -934,7 +954,9 @@ static void select_object_grouped_menu(void) "Objects of Same Type%x5|" "Objects on Shared Layers%x6|" "Objects in Same Group%x7|" - "Object Hooks%x8|Object PassIndex%x9"); + "Object Hooks%x8|" + "Object PassIndex%x9|" + "Object Color%x10"); /* here we go */ |