From 85e04476845a5a41836824b133d939faf4e1c3fa Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Sun, 16 Mar 2014 18:34:34 +0100
Subject: 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 2a1abee23..83e8bf2d1 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)
-- 
cgit v1.2.3