Index: trunk/src/find2.c =================================================================== --- trunk/src/find2.c (revision 21835) +++ trunk/src/find2.c (revision 21836) @@ -192,8 +192,12 @@ pcb_r_end(&it); } - if (ctx->consider_rats) { - TODO("find.c: implement this"); + if ((ctx->consider_rats) && (PCB->Data->rat_tree != NULL)) { + if (PCB->Data->padstack_tree != NULL) { + for(n = pcb_rtree_first(&it, PCB->Data->rat_tree, sb); n != NULL; n = pcb_rtree_next(&it)) + PCB_FIND_CHECK(ctx, curr, n); + pcb_r_end(&it); + } } if (!ctx->ignore_intconn) { Index: trunk/src/rats_act.c =================================================================== --- trunk/src/rats_act.c (revision 21835) +++ trunk/src/rats_act.c (revision 21836) @@ -129,6 +129,7 @@ memset(&fctx, 0, sizeof(fctx)); fctx.flag_set = PCB_FLAG_FOUND; fctx.flag_set_undoable = 1; + fctx.consider_rats = 1; res = pcb_find_from_xy(&fctx, PCB->Data, x, y); pcb_message(PCB_MSG_INFO, "found %ld objects\n", res); pcb_find_free(&fctx);