widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #06155
[Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
GunChleoc has proposed merging lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands.
Requested reviews:
Widelands Developers (widelands-dev)
Related bugs:
Bug #1509172 in widelands: "editor gives error on saving maps"
https://bugs.launchpad.net/widelands/+bug/1509172
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/bug-1509172-map-saving-paths/+merge/286067
I hope that this will fix the map saving bug in Windows. I can reproduce the original bug, but I need the AppVeyor build to check if this fixes it.
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands.
=== modified file 'src/editor/ui_menus/editor_main_menu_save_map.cc'
--- src/editor/ui_menus/editor_main_menu_save_map.cc 2016-01-31 10:57:58 +0000
+++ src/editor/ui_menus/editor_main_menu_save_map.cc 2016-02-15 14:56:39 +0000
@@ -126,7 +126,7 @@
if (filename == "" && table_.has_selection()) { // Maybe a directory is selected.
complete_filename = filename = maps_data_[table_.get_selected()].filename;
} else {
- complete_filename = curdir_ + "/" + filename;
+ complete_filename = curdir_ + g_fs->file_separator() + filename;
}
if (g_fs->is_directory(complete_filename.c_str()) &&
@@ -155,9 +155,7 @@
if (md.run<UI::Panel::Returncodes>() == UI::Panel::Returncodes::kOk) {
g_fs->ensure_directory_exists(curdir_);
// create directory
- std::string fullname = curdir_;
- fullname += "/";
- fullname += md.get_dirname();
+ std::string fullname = curdir_ + g_fs->file_separator() + md.get_dirname();
g_fs->make_directory(fullname);
fill_table();
}
@@ -227,16 +225,15 @@
*/
bool MainMenuSaveMap::save_map(std::string filename, bool binary) {
// Make sure that the current directory exists and is writeable.
- g_fs->ensure_directory_exists(curdir_);
+ const std::string current_dir = g_fs->canonicalize_name(curdir_);
+ g_fs->ensure_directory_exists(current_dir);
// OK, first check if the extension matches (ignoring case).
if (!boost::iends_with(filename, WLMF_SUFFIX))
filename += WLMF_SUFFIX;
// append directory name
- std::string complete_filename = curdir_;
- complete_filename += "/";
- complete_filename += filename;
+ std::string complete_filename = current_dir + g_fs->file_separator() + filename;
// Check if file exists. If so, show a warning.
if (g_fs->file_exists(complete_filename)) {
=== modified file 'src/graphic/animation.cc'
--- src/graphic/animation.cc 2016-02-09 08:07:48 +0000
+++ src/graphic/animation.cc 2016-02-15 14:56:39 +0000
@@ -114,7 +114,7 @@
const std::string name = sound_effects->get_string("name");
const std::string directory = sound_effects->get_string("directory");
- sound_effect_ = directory + "/" + name;
+ sound_effect_ = directory + g_fs->file_separator() + name;
g_sound_handler.load_fx_if_needed(directory, name, sound_effect_);
}
=== modified file 'src/logic/map_objects/tribes/production_program.cc'
--- src/logic/map_objects/tribes/production_program.cc 2016-02-09 08:07:48 +0000
+++ src/logic/map_objects/tribes/production_program.cc 2016-02-15 14:56:39 +0000
@@ -1524,7 +1524,7 @@
bool reached_end;
const std::string& filepath = next_word(parameters, reached_end);
const std::string& filename = next_word(parameters, reached_end);
- name = filepath + "/" + filename;
+ name = filepath + g_fs->file_separator() + filename;
if (!reached_end) {
char * endp;
=== modified file 'src/logic/save_handler.cc'
--- src/logic/save_handler.cc 2015-11-14 15:58:29 +0000
+++ src/logic/save_handler.cc 2016-02-15 14:56:39 +0000
@@ -167,9 +167,7 @@
filename += WLGF_SUFFIX;
// Now append directory name
- std::string complete_filename = dir;
- complete_filename += "/";
- complete_filename += filename;
+ std::string complete_filename = dir + g_fs->file_separator() + filename;
return complete_filename;
}
Follow ups
-
[Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: noreply, 2016-02-23
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: GunChleoc, 2016-02-23
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: GunChleoc, 2016-02-22
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: GunChleoc, 2016-02-22
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: Tino, 2016-02-22
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: GunChleoc, 2016-02-22
-
[Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: bunnybot, 2016-02-22
-
[Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: bunnybot, 2016-02-22
-
[Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: bunnybot, 2016-02-22
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: GunChleoc, 2016-02-21
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: Tino, 2016-02-21
-
[Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: bunnybot, 2016-02-19
-
[Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: bunnybot, 2016-02-16
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: GunChleoc, 2016-02-15
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: Tino, 2016-02-15
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: GunChleoc, 2016-02-15
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: GunChleoc, 2016-02-15
-
Re: [Merge] lp:~widelands-dev/widelands/bug-1509172-map-saving-paths into lp:widelands
From: Tino, 2016-02-15