diff --git a/src/game_display.cpp b/src/game_display.cpp index 1f38c5622393..eb0e322391c6 100644 --- a/src/game_display.cpp +++ b/src/game_display.cpp @@ -208,11 +208,11 @@ void game_display::invalidate_unit_after_move(const map_location& src, const map } } -void game_display::scroll_to_leader(unit_map& units, int side, SCROLL_TYPE scroll_type,bool force) +void game_display::scroll_to_leader(int side, SCROLL_TYPE scroll_type,bool force) { - unit_map::const_iterator leader = units.find_leader(side); + unit_map::const_iterator leader = units_->find_leader(side); - if(leader != units_->end()) { + if(leader.valid()) { // YogiHH: I can't see why we need another key_handler here, // therefore I will comment it out : /* diff --git a/src/game_display.hpp b/src/game_display.hpp index 461ccffd92f1..2f63fad2d031 100644 --- a/src/game_display.hpp +++ b/src/game_display.hpp @@ -62,7 +62,7 @@ class game_display : public display * * This will normally be the playing team. */ - void scroll_to_leader(unit_map& units, int side, SCROLL_TYPE scroll_type = ONSCREEN,bool force = true); + void scroll_to_leader(int side, SCROLL_TYPE scroll_type = ONSCREEN,bool force = true); /** * Function to display a location as selected. diff --git a/src/menu_events.cpp b/src/menu_events.cpp index 53de99dd37b6..cc73cf99b29b 100644 --- a/src/menu_events.cpp +++ b/src/menu_events.cpp @@ -318,7 +318,7 @@ void menu_handler::status_table(int selected) } // this will kill the dialog before scrolling if (result >= 0) - gui_->scroll_to_leader(units_, selected+1); + gui_->scroll_to_leader(selected+1); else if (result == gui::DIALOG_FORWARD) scenario_settings_table(selected); } @@ -412,7 +412,7 @@ void menu_handler::scenario_settings_table(int selected) } // this will kill the dialog before scrolling if (result >= 0) - gui_->scroll_to_leader(units_, selected+1); + gui_->scroll_to_leader(selected+1); else if (result == gui::DIALOG_BACK) status_table(selected); } diff --git a/src/play_controller.cpp b/src/play_controller.cpp index bfca9354f023..c51705d5fece 100644 --- a/src/play_controller.cpp +++ b/src/play_controller.cpp @@ -731,7 +731,7 @@ void play_controller::do_init_side(bool is_replay, bool only_visual) { } if (!recorder.is_skipping() && !skip_replay_ && current_team().get_scroll_to_leader()){ - gui_->scroll_to_leader(gameboard_.units_, player_number_,game_display::ONSCREEN,false); + gui_->scroll_to_leader(player_number_,game_display::ONSCREEN,false); } loading_game_ = false; diff --git a/src/replay_controller.cpp b/src/replay_controller.cpp index 6dc2993932ac..dd18fce0228d 100644 --- a/src/replay_controller.cpp +++ b/src/replay_controller.cpp @@ -159,7 +159,7 @@ void replay_controller::init_gui(){ else gui_->set_team(0, show_everything_); - gui_->scroll_to_leader(gameboard_.units_, player_number_, display::WARP); + gui_->scroll_to_leader(player_number_, display::WARP); update_locker lock_display((*gui_).video(),false); BOOST_FOREACH(team & t, gameboard_.teams_) { t.reset_objectives_changed(); @@ -372,7 +372,7 @@ possible_end_play_signal replay_controller::replay_next_turn(){ PROPOGATE_END_PLAY_SIGNAL( play_turn() ); if (!skip_replay_ || !is_playing_){ - gui_->scroll_to_leader(gameboard_.units_, player_number_,game_display::ONSCREEN,false); + gui_->scroll_to_leader(player_number_,game_display::ONSCREEN,false); } replay_ui_playback_should_stop(); @@ -389,7 +389,7 @@ possible_end_play_signal replay_controller::replay_next_side(){ } if (!skip_replay_ || !is_playing_) { - gui_->scroll_to_leader(gameboard_.units_, player_number_,game_display::ONSCREEN,false); + gui_->scroll_to_leader(player_number_,game_display::ONSCREEN,false); } replay_ui_playback_should_stop(); @@ -466,7 +466,7 @@ possible_end_play_signal replay_controller::play_replay(){ } if (!is_playing_) { - gui_->scroll_to_leader(gameboard_.units_, player_number_,game_display::ONSCREEN,false); + gui_->scroll_to_leader(player_number_,game_display::ONSCREEN,false); } replay_ui_playback_should_stop();