Bugfix multiple event listeners with the same name (#2165)

* Bugfix multiple event listeners with the same name

* Changelog

* changelog
This commit is contained in:
filipzeta 2022-11-17 03:33:01 +11:00 committed by GitHub
parent b107cbe94f
commit 5c474c6dfb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 1 deletions

View File

@ -34,6 +34,7 @@ The minor version will be incremented upon a breaking change and the patch versi
* lang: Fix parsing for bytes literals in the IDL. ([#2261](https://github.com/coral-xyz/anchor/pull/2261))
* lang: Fix IDL `seed` generation for byte string literals. ([#2125](https://github.com/coral-xyz/anchor/pull/2125))
* ts: Update seeds inference to allow nested user defined structs within the seeds ([#2198](https://github.com/coral-xyz/anchor/pull/2198))
* event: Fix multiple event listeners with the same name. ([#2165](https://github.com/coral-xyz/anchor/pull/2165))
## [0.25.0] - 2022-07-05

View File

@ -78,7 +78,7 @@ export class EventManager {
this._listenerIdCount += 1;
// Store the listener into the event map.
if (!(eventName in this._eventCallbacks)) {
if (!this._eventListeners.has(eventName)) {
this._eventListeners.set(eventName, []);
}
this._eventListeners.set(
@ -138,6 +138,7 @@ export class EventManager {
// Update both maps.
this._eventCallbacks.delete(listener);
listeners = listeners.filter((l) => l !== listener);
this._eventListeners.set(eventName, listeners);
if (listeners.length === 0) {
this._eventListeners.delete(eventName);
}