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>
This commit is contained in:
Dirk Hohndel 2013-12-10 07:29:06 +01:00
parent 5e1cfd96fd
commit 13c9d2ad38

View file

@ -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();