Add a WX_APPNAME_DATA_DIR hack for wxStandardPaths::GetDataDir().

Applications using wxStandardPaths::GetDataDir() to find their files under
Unix can't be ran without being installed as they look for their data files
under $prefix/share/appname. Make it possible to override this location by
setting WX_APPNAME_DATA_DIR environment variable to allow running them without
installation.

Notice that this shouldn't present any security risk unless the application is
SUID (which would be a very bad idea anyhow).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-10-08 22:38:03 +00:00
parent 4f83b9fc54
commit 306a5d9515
3 changed files with 24 additions and 0 deletions

View File

@@ -103,11 +103,20 @@ public:
/**
Return the location of the applications global, i.e. not user-specific,
data files.
Example return values:
- Unix: @c prefix/share/appinfo
- Windows: the directory where the executable file is located
- Mac: @c appinfo.app/Contents/SharedSupport bundle subdirectory
Under Unix (only) it is possible to override the default value returned
from this function by setting the value of @c WX_APPNAME_DATA_DIR
environment variable to the directory to use (where @c APPNAME is the
upper-cased value of wxApp::GetAppName()). This is useful in order to
be able to run applications using this function without installing them
as you can simply set this environment variable to the source directory
location to allow the application to find its files there.
@see GetLocalDataDir()
*/
virtual wxString GetDataDir() const;