diff --git a/src/converse-chatview.js b/src/converse-chatview.js index c484589f0..4ca72706a 100644 --- a/src/converse-chatview.js +++ b/src/converse-chatview.js @@ -110,9 +110,11 @@ emojione.ascii = true; function onWindowStateChanged (data) { - _converse.chatboxviews.each(function (chatboxview) { - chatboxview.onWindowStateChanged(data.state); - }); + if (_converse.chatboxviews) { + _converse.chatboxviews.each(chatboxview => { + chatboxview.onWindowStateChanged(data.state); + }); + } } _converse.api.listen.on('windowStateChanged', onWindowStateChanged); diff --git a/src/converse-core.js b/src/converse-core.js index 7567def0b..1f70b98f5 100644 --- a/src/converse-core.js +++ b/src/converse-core.js @@ -343,9 +343,9 @@ delete _converse.controlboxtoggle; delete _converse.chatboxviews; _converse.connection.reset(); - _converse.off(); _converse.stopListening(); _converse.tearDown(); + _converse.off(); } if ('onpagehide' in window) { diff --git a/src/converse-modal.js b/src/converse-modal.js index f00f3703e..36a271587 100644 --- a/src/converse-modal.js +++ b/src/converse-modal.js @@ -66,6 +66,9 @@ }); _converse.api.listen.on('afterTearDown', () => { + if (!_converse.chatboxviews) { + return; + } const container = _converse.chatboxviews.el.querySelector("#converse-modals"); if (container) { container.innerHTML = '';