diff --git a/changelog b/changelog index eef420758fca..9620407c289a 100644 --- a/changelog +++ b/changelog @@ -117,6 +117,7 @@ Version 1.13.0-dev: * Fix implementation bug in random number generator: rand_pool_ is now an unsigned long rather than an unsigned int. * Fix bug #21491: fix drag+drop for unit movements + * Fix bug #21448: make premoved units selection like in Wesnoth 1.10 Version 1.11.11: * Add-ons server: diff --git a/players_changelog b/players_changelog index f8f938497b36..f07efa417016 100644 --- a/players_changelog +++ b/players_changelog @@ -36,6 +36,7 @@ Version 1.13.0-dev: using the "play_side" button, thus matching the behavior of the rest of wesnoth. Bug fix #21025. * Fix bug stopping drag+drop for unit movements + * Revert premoved units selection to Wesnoth 1.10 behavior (#21448) Version 1.11.11: * Campaigns: diff --git a/src/mouse_events.cpp b/src/mouse_events.cpp index c24107a7e458..12eac74a4d9e 100644 --- a/src/mouse_events.cpp +++ b/src/mouse_events.cpp @@ -500,12 +500,16 @@ void mouse_handler::select_or_action(bool browse) unit_map::iterator clicked_u = find_unit(last_hex_); unit_map::iterator selected_u = find_unit(selected_hex_); - if ( (clicked_u != resources::units->end() && clicked_u->side() == side_num_) - || ((selected_u == resources::units->end()) && (clicked_u != resources::units->end())) - || ((selected_u != resources::units->end() && selected_u->side() != side_num_ && clicked_u != resources::units->end())) ) + if ( clicked_u != resources::units->end() && + ((selected_u == resources::units->end()) || + (selected_u != resources::units->end() && selected_u->side() != side_num_)) ) + { select_hex(last_hex_, false); + } else + { move_action(browse); + } } void mouse_handler::move_action(bool browse)