diff options
Diffstat (limited to 'rbutil/rbutilqt')
-rw-r--r-- | rbutil/rbutilqt/utils.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/rbutil/rbutilqt/utils.cpp b/rbutil/rbutilqt/utils.cpp index d77a1ac125..f18a15e15b 100644 --- a/rbutil/rbutilqt/utils.cpp +++ b/rbutil/rbutilqt/utils.cpp | |||
@@ -61,10 +61,21 @@ bool recRmdir( const QString &dirName ) | |||
61 | QString resolvePathCase(QString path) | 61 | QString resolvePathCase(QString path) |
62 | { | 62 | { |
63 | QStringList elems; | 63 | QStringList elems; |
64 | QString realpath = "/"; | 64 | QString realpath; |
65 | |||
65 | elems = path.split("/", QString::SkipEmptyParts); | 66 | elems = path.split("/", QString::SkipEmptyParts); |
67 | int start; | ||
68 | #if defined(Q_OS_WIN32) | ||
69 | // on windows we must make sure to start with the first entry (i.e. the | ||
70 | // drive letter) instead of a single / to make resolving work. | ||
71 | start = 1; | ||
72 | realpath = elems.at(0) + "/"; | ||
73 | #else | ||
74 | start = 0; | ||
75 | realpath = "/"; | ||
76 | #endif | ||
66 | 77 | ||
67 | for(int i = 0; i < elems.size(); i++) { | 78 | for(int i = start; i < elems.size(); i++) { |
68 | QStringList direlems = QDir(realpath).entryList(QDir::AllEntries); | 79 | QStringList direlems = QDir(realpath).entryList(QDir::AllEntries); |
69 | if(direlems.contains(elems.at(i), Qt::CaseInsensitive)) { | 80 | if(direlems.contains(elems.at(i), Qt::CaseInsensitive)) { |
70 | // need to filter using QRegExp as QStringList::filter(QString) | 81 | // need to filter using QRegExp as QStringList::filter(QString) |