MP Create Game: don't update tab contents when regenerating random maps
This moves the tab update code to on_game_select from update_details, since the latter is called when
regenerating random maps and doing so has no possibility of changing tab contents. The only thing that
can do that is selecting a new game. If this ceases to be true in the future, this can be reverted.
This probably should have been done in 80115b11fa
- in fact, the commit message makes it sound like
it was, but it was not due to an oversight on my part.
This commit is contained in:
parent
098f1a15aa
commit
c2e6fda94c
1 changed files with 28 additions and 28 deletions
|
@ -439,13 +439,35 @@ void tmp_create_game::on_game_select(twindow& window)
|
|||
{
|
||||
const int selected_game = find_widget<tlistbox>(&window, "games_list", false).get_selected_row();
|
||||
|
||||
if(selected_game != selected_game_index_) {
|
||||
// Convert the absolute-index get_selected_row to a relatve index for the create_engine to handle
|
||||
selected_game_index_ = convert_to_game_filtered_index(selected_game);
|
||||
|
||||
create_engine_.set_current_level(selected_game_index_);
|
||||
update_details(window);
|
||||
if(selected_game == selected_game_index_) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Convert the absolute-index get_selected_row to a relatve index for the create_engine to handle
|
||||
selected_game_index_ = convert_to_game_filtered_index(selected_game);
|
||||
|
||||
create_engine_.set_current_level(selected_game_index_);
|
||||
update_details(window);
|
||||
|
||||
// General settings
|
||||
tstacked_widget& stack = find_widget<tstacked_widget>(&window, "pager", false);
|
||||
|
||||
const bool can_select_era = create_engine_.current_level().allow_era_choice();
|
||||
|
||||
tmenu_button& era_combo = find_widget<tmenu_button>(stack.get_layer_grid(TAB_GENERAL), "eras", false);
|
||||
if(!can_select_era) {
|
||||
era_combo.set_label(_("No eras available for this game."));
|
||||
} else {
|
||||
era_combo.set_selected(era_combo.get_value());
|
||||
}
|
||||
|
||||
era_combo.set_active(can_select_era);
|
||||
|
||||
// Custom options
|
||||
options_manager_->update_options_list();
|
||||
|
||||
// Game settings
|
||||
update_map_settings(window);
|
||||
}
|
||||
|
||||
void tmp_create_game::on_tab_select(twindow& window)
|
||||
|
@ -634,28 +656,6 @@ void tmp_create_game::update_details(twindow& window)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// General settings
|
||||
tstacked_widget& stack = find_widget<tstacked_widget>(&window, "pager", false);
|
||||
|
||||
const bool can_select_era = create_engine_.current_level().allow_era_choice();
|
||||
|
||||
tmenu_button& era_combo = find_widget<tmenu_button>(stack.get_layer_grid(TAB_GENERAL), "eras", false);
|
||||
if(!can_select_era) {
|
||||
era_combo.set_label(_("No eras available for this game."));
|
||||
} else {
|
||||
era_combo.set_selected(era_combo.get_value());
|
||||
}
|
||||
|
||||
era_combo.set_active(can_select_era);
|
||||
|
||||
//
|
||||
// Custom options
|
||||
//
|
||||
options_manager_->update_options_list();
|
||||
|
||||
// Game settings
|
||||
update_map_settings(window);
|
||||
}
|
||||
|
||||
void tmp_create_game::update_map_settings(twindow& window)
|
||||
|
|
Loading…
Add table
Reference in a new issue