فهرست منبع

Fix closing of controlbox without a connection being present

JC Brand 12 سال پیش
والد
کامیت
54554e94ed
1فایلهای تغییر یافته به همراه14 افزوده شده و 3 حذف شده
  1. 14 3
      converse.js

+ 14 - 3
converse.js

@@ -479,7 +479,11 @@
         },
 
         closeChat: function () {
-            this.model.destroy();
+            if (xmppchat.connection) {
+                this.model.destroy();
+            } else {
+                this.model.trigger('hide');
+            }
         },
 
         initialize: function (){
@@ -741,6 +745,9 @@
             this.model.on('destroy', $.proxy(function (model, response, options) {
                 this.$el.hide('fast');
             }, this));
+            this.model.on('hide', $.proxy(function (model, response, options) {
+                this.$el.hide('fast');
+            }, this));
 
             if (this.model.get('visible')) {
                 this.show();
@@ -1875,10 +1882,14 @@
 
         $toggle.bind('click', $.proxy(function (e) {
             e.preventDefault();
+            var controlbox = this.chatboxes.get('controlbox');
             if ($("div#controlbox").is(':visible')) {
-                this.chatboxes.get('controlbox').destroy();
+                if (this.connection) {
+                    controlbox.destroy();
+                } else {
+                    controlbox.trigger('hide');
+                }
             } else {
-                var controlbox = this.chatboxes.get('controlbox');
                 if (!controlbox) {
                     controlbox = this.chatboxes.add({
                         id: 'controlbox',