kaputtnik has proposed merging
lp:~widelands-dev/widelands/bug_1566720_set_origin into lp:widelands.
Commit message:
Fix miscalculation of map->get_width() and map->get_height() regarding
coordinates.
Requested reviews:
Widelands Developers (widelands-dev)
Related bugs:
Bug #1566720 in widelands: "Set Origin tool crashed the editor"
https://bugs.launchpad.net/widelands/+bug/1566720
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug_1566720_set_origin/+merge/291207
This fixes bug 1566720.
The culprit was that map->get_width() and map->get_height() returns f.e. 64
with a map of 64x64. But internally calculations are made with range 0 to 63.
I have checked the other usages of map->get_width() and map->get_height() and
it seems the other usages are fine.
Because i am not very familiar with the code someone else should may check the
other usages of map->get_width() and map->get_height() to prevent some more
bugs with this circumstance.
--
Your team Widelands Developers is requested to review the proposed merge of
lp:~widelands-dev/widelands/bug_1566720_set_origin into lp:widelands.
=== modified file 'src/editor/tools/set_origin_tool.cc'
--- src/editor/tools/set_origin_tool.cc 2016-04-06 09:23:04 +0000
+++ src/editor/tools/set_origin_tool.cc 2016-04-07 06:58:09 +0000
@@ -45,8 +45,8 @@
EditorActionArgs* /* args */,
Widelands::Map* map) {
Widelands::Coords nc
- (map->get_width() - center.node.x,
- map->get_height() - center.node.y);
+ (map->get_width() - 1 - center.node.x,
+ map->get_height() - 1 - center.node.y);
map->set_origin(nc);
eia.map_changed(EditorInteractive::MapWas::kGloballyMutated);
eia.set_rel_viewpoint
_______________________________________________
Mailing list: https://launchpad.net/~widelands-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~widelands-dev
More help : https://help.launchpad.net/ListHelp