diff --git a/src/organisms/RoomView.js b/src/organisms/RoomView.js index 4a682c8b6d..7b4e9a4b40 100644 --- a/src/organisms/RoomView.js +++ b/src/organisms/RoomView.js @@ -17,7 +17,9 @@ module.exports = React.createClass({ }, componentWillUnmount: function() { - MatrixClientPeg.get().removeListener("Room.timeline", this.onRoomTimeline); + if (MatrixClientPeg.get()) { + MatrixClientPeg.get().removeListener("Room.timeline", this.onRoomTimeline); + } }, componentWillReceiveProps: function(props) { diff --git a/src/pages/MatrixChat.js b/src/pages/MatrixChat.js index 7b260657e3..5327031acc 100644 --- a/src/pages/MatrixChat.js +++ b/src/pages/MatrixChat.js @@ -33,11 +33,12 @@ module.exports = React.createClass({ onAction: function(payload) { switch (payload.action) { case 'logout': - mxCliPeg.replace(null); this.setState({ logged_in: false, ready: false }); + mxCliPeg.get().removeAllListeners(); + mxCliPeg.replace(null); break; case 'view_room': this.setState({