From d6acb74ac95fc2630e5a1e2c71cc6534f135606b Mon Sep 17 00:00:00 2001 From: obscuren Date: Sat, 31 May 2014 11:34:37 +0200 Subject: [PATCH] fixed logging issue that would otherwise crash the client. Fixes #68 --- ethereal/ui/gui.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go index b8245f47ec..44215efdb9 100644 --- a/ethereal/ui/gui.go +++ b/ethereal/ui/gui.go @@ -87,6 +87,8 @@ func (gui *Gui) Start(assetPath string) { win, err = gui.showKeyImport(context) } else { win, err = gui.showWallet(context) + + ethutil.Config.Log.AddLogSystem(gui) } if err != nil { ethutil.Config.Log.Infoln("FATAL: asset not found: you can set an alternative asset path on on the command line using option 'asset_path'") @@ -94,11 +96,9 @@ func (gui *Gui) Start(assetPath string) { panic(err) } - win.Show() - - ethutil.Config.Log.AddLogSystem(gui) ethutil.Config.Log.Infoln("[GUI] Starting GUI") + win.Show() win.Wait() gui.eth.Stop() @@ -174,9 +174,12 @@ var namereg = ethutil.FromHex("bb5f186604d057c1c5240ca2ae0f6430138ac010") func (gui *Gui) loadAddressBook() { gui.win.Root().Call("clearAddress") - gui.eth.StateManager().CurrentState().GetStateObject(namereg).State().EachStorage(func(name string, value *ethutil.Value) { - gui.win.Root().Call("addAddress", struct{ Name, Address string }{name, ethutil.Hex(value.Bytes())}) - }) + stateObject := gui.eth.StateManager().CurrentState().GetStateObject(namereg) + if stateObject != nil { + stateObject.State().EachStorage(func(name string, value *ethutil.Value) { + gui.win.Root().Call("addAddress", struct{ Name, Address string }{name, ethutil.Hex(value.Bytes())}) + }) + } } func (gui *Gui) readPreviousTransactions() {