From 85e04476845a5a41836824b133d939faf4e1c3fa Mon Sep 17 00:00:00 2001 From: obscuren Date: Sun, 16 Mar 2014 18:34:34 +0100 Subject: [PATCH] Fixed asset path error. Fixes #29 --- ui/ui_lib.go | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/ui/ui_lib.go b/ui/ui_lib.go index 2a1abee237..83e8bf2d12 100644 --- a/ui/ui_lib.go +++ b/ui/ui_lib.go @@ -5,6 +5,7 @@ import ( "github.com/ethereum/eth-go" "github.com/ethereum/eth-go/ethutil" "github.com/niemeyer/qml" + "os" "path" "path/filepath" "runtime" @@ -49,18 +50,26 @@ func (ui *UiLib) AssetPath(p string) string { func AssetPath(p string) string { var base string - switch runtime.GOOS { - case "darwin": - // Get Binary Directory - exedir, _ := osext.ExecutableFolder() - base = filepath.Join(exedir, "../Resources") - base = "/Users/jeffrey/go/src/github.com/ethereum/go-ethereum" - case "linux": - base = "/usr/share/ethereal" - case "window": - fallthrough - default: - base = "." + + // If the current working directory is the go-ethereum dir + // assume a debug build and use the source directory as + // asset directory. + pwd, _ := os.Getwd() + if pwd == path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum") { + base = pwd + } else { + switch runtime.GOOS { + case "darwin": + // Get Binary Directory + exedir, _ := osext.ExecutableFolder() + base = filepath.Join(exedir, "../Resources") + case "linux": + base = "/usr/share/ethereal" + case "window": + fallthrough + default: + base = "." + } } return path.Join(base, p)