diff --git a/src/gmtool.c b/src/gmtool.c index 30d80ba4a..c33478843 100644 --- a/src/gmtool.c +++ b/src/gmtool.c @@ -720,6 +720,22 @@ static void select_regions(state * st, int selectmode) } } } + else if (findmode == 'c') { + region *r; + sprintf(sbuffer, "%schaos", status); + statusline(st->wnd_status->handle, sbuffer); + for (r = regions; r; r = r->next) { + if (fval(r, RF_CHAOTIC)) { + if (selectmode & MODE_SELECT) { + select_coordinate(st->selected, r->x, r->y, + selectmode == MODE_SELECT); + } + else { + highlight_region(r, selectmode == MODE_MARK); + } + } + } + } else if (findmode == 'm') { region *r; sprintf(sbuffer, "%smonsters", status); @@ -991,9 +1007,13 @@ static void handlekey(state * st, int c) break; case 'c': /* clear/reset */ reset_cursor(st); + st->modified = 1; + st->wnd_map->update |= 1; break; case 'C': /* clear/reset */ reset_rect(st); + st->modified = 1; + st->wnd_map->update |= 1; break; case 0x09: /* tab = next selected */ if (regions != NULL) { diff --git a/src/kernel/unit.test.c b/src/kernel/unit.test.c index abae9480c..fcd737ff8 100644 --- a/src/kernel/unit.test.c +++ b/src/kernel/unit.test.c @@ -616,6 +616,7 @@ CuSuite *get_unit_suite(void) SUITE_ADD_TEST(suite, test_unit_name_from_race); SUITE_ADD_TEST(suite, test_update_monster_name); SUITE_ADD_TEST(suite, test_clone_men); + SUITE_ADD_TEST(suite, test_clone_men_bug_2386); SUITE_ADD_TEST(suite, test_transfermen); SUITE_ADD_TEST(suite, test_clone_men_bug_2386); SUITE_ADD_TEST(suite, test_transfermen);