From ae511474f2e7588107d084672189dcc72e65c466 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Thu, 7 Jan 2021 09:55:45 +0000 Subject: [PATCH] Merge pull request #3510 from overleaf/jpa-fix-cm-listener-signature [frontend] EditorWatchdogManager: fix signature of CM 'change' handler GitOrigin-RevId: 9803876db052533de156087d38eb2a9486eb341f --- .../js/ide/connection/EditorWatchdogManager.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/services/web/frontend/js/ide/connection/EditorWatchdogManager.js b/services/web/frontend/js/ide/connection/EditorWatchdogManager.js index d0e367140a..98c93ac51c 100644 --- a/services/web/frontend/js/ide/connection/EditorWatchdogManager.js +++ b/services/web/frontend/js/ide/connection/EditorWatchdogManager.js @@ -177,9 +177,21 @@ export default class EditorWatchdogManager { } attachToEditor(editorName, editor) { - const onChange = change => { - // Ignore remote changes. - if (change.origin !== 'remote') this.onEdit() + let onChange + if (editorName === 'CM') { + // CM is passing the CM instance as first parameter, then the change. + onChange = (editor, change) => { + // Ignore remote changes. + if (change.origin === 'remote') return + this.onEdit() + } + } else { + // ACE is passing the change object as first parameter. + onChange = change => { + // Ignore remote changes. + if (change.origin === 'remote') return + this.onEdit() + } } this._log('attach to editor', editorName) editor.on('change', onChange)