mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 01:43:15 +08:00
locking the event manager before mutating it. this should resolve issue #950
This commit is contained in:
parent
f3b2f6ab76
commit
3201206d4f
@ -55,20 +55,20 @@ func (e *Manager) addEventListener(eventName string, callback func(...interface{
|
|||||||
return fmt.Errorf("nil callback bassed to addEventListener")
|
return fmt.Errorf("nil callback bassed to addEventListener")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check event has been registered before
|
|
||||||
if e.listeners[eventName] == nil {
|
|
||||||
e.listeners[eventName] = []*eventListener{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the callback
|
// Create the callback
|
||||||
listener := &eventListener{
|
listener := &eventListener{
|
||||||
callback: callback,
|
callback: callback,
|
||||||
counter: counter,
|
counter: counter,
|
||||||
}
|
}
|
||||||
|
e.mu.Lock()
|
||||||
|
// Check event has been registered before
|
||||||
|
if e.listeners[eventName] == nil {
|
||||||
|
e.listeners[eventName] = []*eventListener{}
|
||||||
|
}
|
||||||
|
|
||||||
// Register listener
|
// Register listener
|
||||||
e.listeners[eventName] = append(e.listeners[eventName], listener)
|
e.listeners[eventName] = append(e.listeners[eventName], listener)
|
||||||
|
e.mu.Unlock()
|
||||||
// All good mate
|
// All good mate
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user