From 00072dae1dd3ea24b8a14d76f936636914e3bc5b Mon Sep 17 00:00:00 2001 From: lethosor Date: Fri, 6 Feb 2015 19:12:10 -0500 Subject: [PATCH 1/2] Fix crash in zone plugin from scrolling when assigning an owner to a cage Fixes #534 --- plugins/zone.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/zone.cpp b/plugins/zone.cpp index 21af5d85c..6e2c1e914 100644 --- a/plugins/zone.cpp +++ b/plugins/zone.cpp @@ -4064,8 +4064,10 @@ struct zone_hook : public df::viewscreen_dwarfmodest ui_building_in_assign && *ui_building_in_assign && ui_building_assign_type && ui_building_assign_units && ui_building_assign_type->size() == ui_building_assign_units->size() && - ui_building_item_cursor && - world->selected_building && isCage(world->selected_building) ) + ui_building_assign_type->size() == ui_building_assign_items->size() && + 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)) From 50770f8cdde63b0f7003b06b3fbb497a7256a4ca Mon Sep 17 00:00:00 2001 From: lethosor Date: Fri, 6 Feb 2015 19:13:34 -0500 Subject: [PATCH 2/2] Clean up whitespace in zone.cpp --- plugins/zone.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/plugins/zone.cpp b/plugins/zone.cpp index 6e2c1e914..dd1a68ba0 100644 --- a/plugins/zone.cpp +++ b/plugins/zone.cpp @@ -2593,7 +2593,7 @@ bool compareRaceNames(WatchedRace* i, WatchedRace* j) { string name_i = getRaceNamePluralById(i->raceId); string name_j = getRaceNamePluralById(j->raceId); - + return (name_i < name_j); } @@ -3565,7 +3565,7 @@ static void autobutcher_removeFromWatchList(color_ostream &out, unsigned id) // sort watchlist alphabetically 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 @@ -3645,7 +3645,7 @@ static int autobutcher_getWatchList(lua_State *L) Lua::SetField(L, w->ma, ctable, "ma"); int id = w->raceId; - + w = checkRaceStocksTotal(id); Lua::SetField(L, w->unit_ptr[fk_index].size(), ctable, "fk_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); } } - + string search_string_l = toLower(search_string); saved_indexes.clear(); ui_building_assign_type->clear(); @@ -3802,7 +3802,7 @@ public: continue; if (!show_noncaged) - { + { // must be in a container if(!isContainedInItem(curr_unit)) continue; @@ -3884,31 +3884,31 @@ public: } } // 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)) { show_non_grazers = !show_non_grazers; 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)) { show_noncaged = !show_noncaged; 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)) { show_pastured = !show_pastured; 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)) { show_male = !show_male; 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)) { show_female = !show_female; @@ -3994,7 +3994,7 @@ public: OutputString(COLOR_WHITE, x, y, ": "); OutputString((show_male) ? COLOR_WHITE : COLOR_GREY, x, y, "Male"); } - + // pits don't have grazer filter because it seems pointless if (mode == ui_sidebar_mode::ZonesPitInfo) {