widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #07374
[Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
GunChleoc has proposed merging lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands.
Commit message:
Select info tool before creating new maps. This fixes a crash with the player tool.
Requested reviews:
Widelands Developers (widelands-dev)
Related bugs:
Bug #1573968 in widelands: "Editor crash: Assertion `1 <= p && p <= get_nrplayers()' failed."
https://bugs.launchpad.net/widelands/+bug/1573968
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1573968-new-map-crash/+merge/292712
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands.
=== modified file 'src/editor/tools/set_starting_pos_tool.cc'
--- src/editor/tools/set_starting_pos_tool.cc 2016-04-06 09:23:04 +0000
+++ src/editor/tools/set_starting_pos_tool.cc 2016-04-23 14:44:53 +0000
@@ -60,12 +60,16 @@
// Area around already placed players
Widelands::PlayerNumber const nr_players = map.get_nrplayers();
for (Widelands::PlayerNumber p = 1, last = current_player_ - 1;; ++p) {
- for (; p <= last; ++p)
- if (Widelands::Coords const sp = map.get_starting_pos(p))
- if (map.calc_distance(sp, c) < MIN_PLACE_AROUND_PLAYERS)
+ for (; p <= last; ++p) {
+ if (Widelands::Coords const sp = map.get_starting_pos(p)) {
+ if (map.calc_distance(sp, c) < MIN_PLACE_AROUND_PLAYERS) {
return 0;
- if (last == nr_players)
+ }
+ }
+ }
+ if (last == nr_players) {
break;
+ }
last = nr_players;
}
=== modified file 'src/editor/ui_menus/main_menu_new_map.cc'
--- src/editor/ui_menus/main_menu_new_map.cc 2016-04-06 09:23:04 +0000
+++ src/editor/ui_menus/main_menu_new_map.cc 2016-04-23 14:44:53 +0000
@@ -123,6 +123,9 @@
egbase.cleanup_for_load();
+ // Select a tool that doesn't care about map changes
+ parent.select_tool(parent.tools()->info, EditorTool::First);
+
map.create_empty_map(
egbase.world(),
width_.get_value() > 0 ? width_.get_value() : Widelands::kMapDimensions[0],
=== modified file 'src/editor/ui_menus/main_menu_random_map.cc'
--- src/editor/ui_menus/main_menu_random_map.cc 2016-04-06 09:23:04 +0000
+++ src/editor/ui_menus/main_menu_random_map.cc 2016-04-23 14:44:53 +0000
@@ -434,6 +434,9 @@
egbase.cleanup_for_load();
+ // Select a tool that doesn't care about map changes
+ eia.select_tool(eia.tools()->info, EditorTool::First);
+
UniqueRandomMapInfo map_info;
set_map_info(map_info);
=== modified file 'src/logic/map.cc'
--- src/logic/map.cc 2016-04-11 06:45:29 +0000
+++ src/logic/map.cc 2016-04-23 14:44:53 +0000
@@ -303,6 +303,7 @@
const std::string& author,
const std::string& description)
{
+ cleanup();
set_size(w, h);
set_name (name);
set_author (author);
Follow ups
-
[Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: noreply, 2016-05-04
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: GunChleoc, 2016-05-04
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: Miroslav Remák, 2016-05-02
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: kaputtnik, 2016-04-25
-
[Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: bunnybot, 2016-04-25
-
[Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: bunnybot, 2016-04-25
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: kaputtnik, 2016-04-24
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: kaputtnik, 2016-04-24
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: GunChleoc, 2016-04-24
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1573968-new-map-crash into lp:widelands
From: kaputtnik, 2016-04-23