From 88dfe392f28e1d5dd365b731de977369d51266e2 Mon Sep 17 00:00:00 2001 From: sanketjadhav31 Date: Sat, 5 Apr 2025 23:17:46 +0530 Subject: [PATCH 1/2] Added checks for event listeners in remove method on lines 618 and 627 --- src/core/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/main.js b/src/core/main.js index 36db13d4e5..0e1a49f0d7 100644 --- a/src/core/main.js +++ b/src/core/main.js @@ -615,7 +615,7 @@ class p5 { // unregister events sketch-wide for (const ev in this._events) { - window.removeEventListener(ev, this._events[ev]); + if (this._events[ev]) window.removeEventListener(ev, this._events[ev]); } // remove DOM elements created by p5, and listeners @@ -624,7 +624,7 @@ class p5 { e.elt.parentNode.removeChild(e.elt); } for (const elt_ev in e._events) { - e.elt.removeEventListener(elt_ev, e._events[elt_ev]); + if (e.elt && e._events[elt_ev]) e.elt.removeEventListener(elt_ev, e._events[elt_ev]); } } From eed7303a31899a138f3f171bbd14f3d5131e45c4 Mon Sep 17 00:00:00 2001 From: sanketjadhav31 Date: Sat, 5 Apr 2025 23:53:42 +0530 Subject: [PATCH 2/2] Fixed logical errors in remove method: added checks for event listeners (lines 618, 627) --- src/core/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/main.js b/src/core/main.js index 0e1a49f0d7..3d9c18292d 100644 --- a/src/core/main.js +++ b/src/core/main.js @@ -615,12 +615,12 @@ class p5 { // unregister events sketch-wide for (const ev in this._events) { - if (this._events[ev]) window.removeEventListener(ev, this._events[ev]); + if(this._events[ev])window.removeEventListener(ev, this._events[ev]); } // remove DOM elements created by p5, and listeners for (const e of this._elements) { - if (e.elt && e.elt.parentNode) { + if(e.elt && e.elt.parentNode) { e.elt.parentNode.removeChild(e.elt); } for (const elt_ev in e._events) {