diff --git a/aleksis/core/frontend/mixins/aleksis.js b/aleksis/core/frontend/mixins/aleksis.js index 7dc82d67f9d687f0f5c218373b846685c6b2d307..396345dcbc988334823ffaead235d66cedd7eb65 100644 --- a/aleksis/core/frontend/mixins/aleksis.js +++ b/aleksis/core/frontend/mixins/aleksis.js @@ -22,15 +22,19 @@ const aleksisMixin = { beforeDestroy() { // Unregister all safely added event listeners as to not leak them for (let trackedEvent in this.$data.$_aleksis_safeTrackedEvents) { - console.debug( - "Removing handler for %s on %o", - trackedEvent.event, - trackedEvent.target - ); - trackedEvent.target.removeEventListener( - trackedEvent.event, - trackedEvent.handler - ); + if (trackedEvent.target) { + console.debug( + "Removing handler for %s on %o", + trackedEvent.event, + trackedEvent.target + ); + trackedEvent.target.removeEventListener( + trackedEvent.event, + trackedEvent.handler + ); + } else { + console.debug("Target already removed while removing event handler"); + } } }, };