소스 검색

core: Close chats when logging out, before disconnecting

Otherwise rooms cannot be exited properly.

Also, no need to call `_tearDown` in `logOut` when `connection.disconnect` gets
called since it will get called afterwards in the handler.
JC Brand 8 년 전
부모
커밋
53643ab541
1개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  1. 5 3
      src/converse-core.js

+ 5 - 3
src/converse-core.js

@@ -577,13 +577,15 @@
         };
 
         this.logOut = function () {
+            _converse.chatboxviews.closeAllChatBoxes();
+            _converse.clearSession();
+
             _converse.setDisconnectionCause(_converse.LOGOUT, undefined, true);
             if (!_.isUndefined(_converse.connection)) {
                 _converse.connection.disconnect();
+            } else {
+                _converse._tearDown();
             }
-            _converse.chatboxviews.closeAllChatBoxes();
-            _converse.clearSession();
-            _converse._tearDown();
             _converse.emit('logout');
         };