diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-12-10 07:29:06 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-12-10 07:29:06 +0100 |
commit | 13c9d2ad38da23ba39a56c5bd2b0c48e23b9f38a (patch) | |
tree | c198ab8ad1f096e978f5fa8af06e627a71c824dc /qt-gui.cpp | |
parent | 5e1cfd96fde07400fe6571bd4b8bda67199c3dd3 (diff) | |
download | subsurface-13c9d2ad38da23ba39a56c5bd2b0c48e23b9f38a.tar.gz |
Don't rely on current path when searching for support files
The notion of current path changes as we open files in the file system.
What we really want is the directory from where Subsurface was started.
That covers both the case of Windows and running Subsurface from the
install directory.
This worked before because all support files were opened before the first
user interaction. But opening the manual showed the flaw in the previous
logic.
Fixes #348
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-gui.cpp')
-rw-r--r-- | qt-gui.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/qt-gui.cpp b/qt-gui.cpp index 0b80bb557..3cd35893a 100644 --- a/qt-gui.cpp +++ b/qt-gui.cpp @@ -394,9 +394,11 @@ QString getSubsurfaceDataPath(QString folderToFind) QString execdir; QDir folder; - // first check if we are running in the build dir, so this - // is just subdirectory of the current directory - execdir = QDir::currentPath(); + // first check if we are running in the build dir, so the path that we + // are looking for is just a subdirectory of the execution path; + // this also works on Windows as there we install the dirs + // under the application path + execdir = QCoreApplication::applicationDirPath(); folder = QDir(execdir.append(QDir::separator()).append(folderToFind)); if (folder.exists()) return folder.absolutePath(); |