diff options
author | Adrien Destugues <pulkomandy@pulkomandy.tk> | 2014-06-20 13:23:22 +0200 |
---|---|---|
committer | François Revol <revol@free.fr> | 2014-06-20 15:31:23 +0200 |
commit | 80cc3266580e9fbd77f07b094f6248326cf2cee3 (patch) | |
tree | 293285be64721f8338f9e592930298f13fe9d061 /beos | |
parent | d64fa80ba7798dafc580d531c36f42eb13a13074 (diff) | |
download | netsurf-80cc3266580e9fbd77f07b094f6248326cf2cee3.tar.gz netsurf-80cc3266580e9fbd77f07b094f6248326cf2cee3.tar.bz2 |
beos: Use PathFinder to locate resource folder.
So it can work wherever NetSurf is installed...
Note this uses a Haiku-specific API and definitely breaks BeOS build.
Diffstat (limited to 'beos')
-rw-r--r-- | beos/gui.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/beos/gui.cpp b/beos/gui.cpp index d7f4ab01e..4f06b9f04 100644 --- a/beos/gui.cpp +++ b/beos/gui.cpp @@ -37,6 +37,7 @@ #include <FindDirectory.h> #include <Mime.h> #include <Path.h> +#include <PathFinder.h> #include <Roster.h> #include <Screen.h> #include <String.h> @@ -79,9 +80,6 @@ extern "C" { static void *myrealloc(void *ptr, size_t len, void *pw); -/* Where to search for shared resources. Must have trailing / */ -#define RESPATH "/boot/apps/netsurf/res/" - //TODO: use resources // enable using resources instead of files #define USE_RESOURCES 1 @@ -297,7 +295,13 @@ static char *find_resource(char *buf, const char *filename, const char *def) return buf; } - strcpy(t, RESPATH); + + BPathFinder f((void*)find_resource); + + BPath p; + f.FindPath(B_FIND_PATH_APPS_DIRECTORY, "netsurf/res/", p); + strcpy(t, p.Path()); + strcat(t, filename); realpath(t, buf); if (access(buf, R_OK) == 0) @@ -488,7 +492,10 @@ static bool nslog_stream_configure(FILE *fptr) static BPath get_messages_path() { - BPath p("/boot/apps/netsurf/res"); + BPathFinder f((void*)get_messages_path); + + BPath p; + f.FindPath(B_FIND_PATH_APPS_DIRECTORY, "netsurf/res", p); // TODO: use Haiku's BLocale stuff BString lang(getenv("LC_MESSAGES")); lang.Truncate(2); |