aboutsummaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorAlexander Tkachev2016-07-04 17:26:16 +0600
committerAlexander Tkachev2016-08-24 16:07:55 +0600
commit458bfcec79e76b927414ed1b2151a4d59503ff86 (patch)
treef0acc9826afaf7f23f73a9075f43f36e38c80ebd /gui
parentddb1a6ccb6238aaed599b271506a94a7c0f18844 (diff)
downloadscummvm-rg350-458bfcec79e76b927414ed1b2151a4d59503ff86.tar.gz
scummvm-rg350-458bfcec79e76b927414ed1b2151a4d59503ff86.tar.bz2
scummvm-rg350-458bfcec79e76b927414ed1b2151a4d59503ff86.zip
GUI: Fix DownloadDialog path creation
Was adding a path separator even when none is required.
Diffstat (limited to 'gui')
-rw-r--r--gui/downloaddialog.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/gui/downloaddialog.cpp b/gui/downloaddialog.cpp
index 28a29fcb64..05d87c21d8 100644
--- a/gui/downloaddialog.cpp
+++ b/gui/downloaddialog.cpp
@@ -137,13 +137,15 @@ void DownloadDialog::selectDirectories() {
Common::String localPath = dir.getPath();
//simple heuristic to determine which path separator to use
- int backslashes = 0;
- for (uint32 i = 0; i < localPath.size(); ++i)
- if (localPath[i] == '/') --backslashes;
- else if (localPath[i] == '\\') ++backslashes;
-
- if (backslashes > 0) localPath += '\\' + remoteDirectory.name();
- else localPath += '/' + remoteDirectory.name();
+ if (localPath.size() && localPath.lastChar() != '/' && localPath.lastChar() != '\\') {
+ int backslashes = 0;
+ for (uint32 i = 0; i < localPath.size(); ++i)
+ if (localPath[i] == '/') --backslashes;
+ else if (localPath[i] == '\\') ++backslashes;
+
+ if (backslashes > 0) localPath += '\\' + remoteDirectory.name();
+ else localPath += '/' + remoteDirectory.name();
+ } else localPath += remoteDirectory.name();
CloudMan.startDownload(remoteDirectory.path(), localPath);
CloudMan.setDownloadTarget(this);