aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Wilcke <obscuren@users.noreply.github.com>2014-10-11 04:59:11 +0800
committerJeffrey Wilcke <obscuren@users.noreply.github.com>2014-10-11 04:59:11 +0800
commit8128190fb2fd5e9e41929bdb84a71f87fc897724 (patch)
treea9711c8a43632080de422e2f35e9d7d47b4fdbe4
parent83a4b8b49bc28dad0539d040dceca48b7b75baf2 (diff)
parentc1f8a640d35b4ec996657d0457f67d02d8276f4b (diff)
downloaddexon-8128190fb2fd5e9e41929bdb84a71f87fc897724.tar.gz
dexon-8128190fb2fd5e9e41929bdb84a71f87fc897724.tar.zst
dexon-8128190fb2fd5e9e41929bdb84a71f87fc897724.zip
Merge pull request #136 from fjl/feature/raceless-ethereum-filters
Fix chain filter data race
-rw-r--r--mist/ui_lib.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/mist/ui_lib.go b/mist/ui_lib.go
index f39b56f0b..27b19763b 100644
--- a/mist/ui_lib.go
+++ b/mist/ui_lib.go
@@ -193,21 +193,21 @@ func (self *UiLib) StartDebugger() {
dbWindow.Show()
}
-func (self *UiLib) NewFilter(object map[string]interface{}) int {
- filter, id := self.eth.InstallFilter(object)
+func (self *UiLib) NewFilter(object map[string]interface{}) (id int) {
+ filter := ethchain.NewFilterFromMap(object, self.eth)
filter.MessageCallback = func(messages ethstate.Messages) {
self.win.Root().Call("invokeFilterCallback", ethpipe.ToJSMessages(messages), id)
}
-
+ id = self.eth.InstallFilter(filter)
return id
}
-func (self *UiLib) NewFilterString(typ string) int {
- filter, id := self.eth.InstallFilter(nil)
+func (self *UiLib) NewFilterString(typ string) (id int) {
+ filter := ethchain.NewFilter(self.eth)
filter.BlockCallback = func(block *ethchain.Block) {
self.win.Root().Call("invokeFilterCallback", "{}", id)
}
-
+ id = self.eth.InstallFilter(filter)
return id
}