Merge branch 'lethosor/zone-cage-owner-scroll-crash' into develop

develop
lethosor 2015-02-06 19:18:02 -05:00
commit 24cc1b25a3
1 changed files with 15 additions and 13 deletions

@ -2593,7 +2593,7 @@ bool compareRaceNames(WatchedRace* i, WatchedRace* j)
{ {
string name_i = getRaceNamePluralById(i->raceId); string name_i = getRaceNamePluralById(i->raceId);
string name_j = getRaceNamePluralById(j->raceId); string name_j = getRaceNamePluralById(j->raceId);
return (name_i < name_j); return (name_i < name_j);
} }
@ -3565,7 +3565,7 @@ static void autobutcher_removeFromWatchList(color_ostream &out, unsigned id)
// sort watchlist alphabetically // sort watchlist alphabetically
static void autobutcher_sortWatchList(color_ostream &out) static void autobutcher_sortWatchList(color_ostream &out)
{ {
sort(watched_races.begin(), watched_races.end(), compareRaceNames); sort(watched_races.begin(), watched_races.end(), compareRaceNames);
} }
// set default target values for new races // set default target values for new races
@ -3645,7 +3645,7 @@ static int autobutcher_getWatchList(lua_State *L)
Lua::SetField(L, w->ma, ctable, "ma"); Lua::SetField(L, w->ma, ctable, "ma");
int id = w->raceId; int id = w->raceId;
w = checkRaceStocksTotal(id); w = checkRaceStocksTotal(id);
Lua::SetField(L, w->unit_ptr[fk_index].size(), ctable, "fk_total"); Lua::SetField(L, w->unit_ptr[fk_index].size(), ctable, "fk_total");
Lua::SetField(L, w->unit_ptr[mk_index].size(), ctable, "mk_total"); Lua::SetField(L, w->unit_ptr[mk_index].size(), ctable, "mk_total");
@ -3780,7 +3780,7 @@ public:
saved_ui_building_assign_is_marked[saved_indexes[i]] = ui_building_assign_is_marked->at(adjusted_item_index); saved_ui_building_assign_is_marked[saved_indexes[i]] = ui_building_assign_is_marked->at(adjusted_item_index);
} }
} }
string search_string_l = toLower(search_string); string search_string_l = toLower(search_string);
saved_indexes.clear(); saved_indexes.clear();
ui_building_assign_type->clear(); ui_building_assign_type->clear();
@ -3802,7 +3802,7 @@ public:
continue; continue;
if (!show_noncaged) if (!show_noncaged)
{ {
// must be in a container // must be in a container
if(!isContainedInItem(curr_unit)) if(!isContainedInItem(curr_unit))
continue; continue;
@ -3884,31 +3884,31 @@ public:
} }
} }
// Not in query typing mode // Not in query typing mode
else if (input->count(interface_key::CUSTOM_SHIFT_G) && else if (input->count(interface_key::CUSTOM_SHIFT_G) &&
(mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::QueryBuilding)) (mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::QueryBuilding))
{ {
show_non_grazers = !show_non_grazers; show_non_grazers = !show_non_grazers;
apply_filters(); apply_filters();
} }
else if (input->count(interface_key::CUSTOM_SHIFT_C) && else if (input->count(interface_key::CUSTOM_SHIFT_C) &&
(mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::ZonesPitInfo || mode == ui_sidebar_mode::QueryBuilding)) (mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::ZonesPitInfo || mode == ui_sidebar_mode::QueryBuilding))
{ {
show_noncaged = !show_noncaged; show_noncaged = !show_noncaged;
apply_filters(); apply_filters();
} }
else if (input->count(interface_key::CUSTOM_SHIFT_P) && else if (input->count(interface_key::CUSTOM_SHIFT_P) &&
(mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::ZonesPitInfo || mode == ui_sidebar_mode::QueryBuilding)) (mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::ZonesPitInfo || mode == ui_sidebar_mode::QueryBuilding))
{ {
show_pastured = !show_pastured; show_pastured = !show_pastured;
apply_filters(); apply_filters();
} }
else if (input->count(interface_key::CUSTOM_SHIFT_M) && else if (input->count(interface_key::CUSTOM_SHIFT_M) &&
(mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::ZonesPitInfo || mode == ui_sidebar_mode::QueryBuilding)) (mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::ZonesPitInfo || mode == ui_sidebar_mode::QueryBuilding))
{ {
show_male = !show_male; show_male = !show_male;
apply_filters(); apply_filters();
} }
else if (input->count(interface_key::CUSTOM_SHIFT_F) && else if (input->count(interface_key::CUSTOM_SHIFT_F) &&
(mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::ZonesPitInfo || mode == ui_sidebar_mode::QueryBuilding)) (mode == ui_sidebar_mode::ZonesPenInfo || mode == ui_sidebar_mode::ZonesPitInfo || mode == ui_sidebar_mode::QueryBuilding))
{ {
show_female = !show_female; show_female = !show_female;
@ -3994,7 +3994,7 @@ public:
OutputString(COLOR_WHITE, x, y, ": "); OutputString(COLOR_WHITE, x, y, ": ");
OutputString((show_male) ? COLOR_WHITE : COLOR_GREY, x, y, "Male"); OutputString((show_male) ? COLOR_WHITE : COLOR_GREY, x, y, "Male");
} }
// pits don't have grazer filter because it seems pointless // pits don't have grazer filter because it seems pointless
if (mode == ui_sidebar_mode::ZonesPitInfo) if (mode == ui_sidebar_mode::ZonesPitInfo)
{ {
@ -4064,8 +4064,10 @@ struct zone_hook : public df::viewscreen_dwarfmodest
ui_building_in_assign && *ui_building_in_assign && ui_building_in_assign && *ui_building_in_assign &&
ui_building_assign_type && ui_building_assign_units && ui_building_assign_type && ui_building_assign_units &&
ui_building_assign_type->size() == ui_building_assign_units->size() && ui_building_assign_type->size() == ui_building_assign_units->size() &&
ui_building_item_cursor && ui_building_assign_type->size() == ui_building_assign_items->size() &&
world->selected_building && isCage(world->selected_building) ) ui_building_assign_type->size() == ui_building_assign_is_marked->size() &&
ui_building_item_cursor &&
world->selected_building && isCage(world->selected_building) )
) )
{ {
if (vector_get(*ui_building_assign_units, *ui_building_item_cursor)) if (vector_get(*ui_building_assign_units, *ui_building_item_cursor))