5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 03:52:41 +08:00

locking the event manager before mutating it. this should resolve issue #950

This commit is contained in:
meatherly 2021-12-06 16:21:35 -06:00
parent f3b2f6ab76
commit 3201206d4f

View File

@ -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
} }