summaryrefslogtreecommitdiffstats
path: root/qt-gui.cpp
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2013-12-10 07:29:06 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-12-10 07:29:06 +0100
commit13c9d2ad38da23ba39a56c5bd2b0c48e23b9f38a (patch)
treec198ab8ad1f096e978f5fa8af06e627a71c824dc /qt-gui.cpp
parent5e1cfd96fde07400fe6571bd4b8bda67199c3dd3 (diff)
downloadsubsurface-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.cpp8
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();