From 8b35db3fc162ef24bc154f09669828fafb1e110d Mon Sep 17 00:00:00 2001 From: Alf Eaton <75253002+aeaton-overleaf@users.noreply.github.com> Date: Wed, 21 Apr 2021 10:57:29 +0100 Subject: [PATCH] Merge pull request #3928 from overleaf/ae-safari-error Check for existence of elements before attaching event listeners in SafariScrollPatcher GitOrigin-RevId: 67338581878871cf67fc050dc233da93f14753a7 --- .../web/frontend/js/ide/SafariScrollPatcher.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/services/web/frontend/js/ide/SafariScrollPatcher.js b/services/web/frontend/js/ide/SafariScrollPatcher.js index 6768ac236a..b75d990872 100644 --- a/services/web/frontend/js/ide/SafariScrollPatcher.js +++ b/services/web/frontend/js/ide/SafariScrollPatcher.js @@ -76,13 +76,14 @@ export default SafariScrollPatcher = class SafariScrollPatcher { this.aceDiv = document.querySelector('.ace_content') // Also the editor. // Set hover-related listeners. - this.pdfDiv.addEventListener('mouseleave', this.handlePdfDivMouseLeave) - this.pdfDiv.addEventListener('mouseenter', this.handlePdfDivMouseEnter) - this.aceDiv.addEventListener('mouseleave', this.handleAceDivMouseLeave) - return this.aceDiv.addEventListener( - 'mouseenter', - this.handleAceDivMouseEnter - ) + if (this.pdfDiv != null) { + this.pdfDiv.addEventListener('mouseleave', this.handlePdfDivMouseLeave) + this.pdfDiv.addEventListener('mouseenter', this.handlePdfDivMouseEnter) + } + if (this.aceDiv != null) { + this.aceDiv.addEventListener('mouseleave', this.handleAceDivMouseLeave) + this.aceDiv.addEventListener('mouseenter', this.handleAceDivMouseEnter) + } } // Handler for wheel events on the PDF.