diff --git a/js/glowingbear.js b/js/glowingbear.js index 55ed6f9..e05d36d 100644 --- a/js/glowingbear.js +++ b/js/glowingbear.js @@ -378,6 +378,7 @@ function($rootScope, $log.info("Disconnected from relay"); failCallbacks('disconnection'); $rootScope.connected = false; + $rootScope.$emit('relayDisconnect'); $rootScope.$apply(); }; @@ -584,6 +585,11 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout', $scope.showSidebar = true; $scope.buffers = models.model.buffers; + + $rootScope.$on('relayDisconnect', function() { + models.reinitialize(); + }); + $scope.activeBuffer = models.getActiveBuffer; $rootScope.waseverconnected = false; diff --git a/js/models.js b/js/models.js index e17a936..a222a52 100644 --- a/js/models.js +++ b/js/models.js @@ -425,6 +425,14 @@ models.service('models', ['$rootScope', '$filter', function($rootScope, $filter) return BufferList; }; + /* + * Reinitializes the model + */ + this.reinitialize = function() { + BufferList = []; + this.model.buffers = {}; + }; + /* * Returns a specific buffer object *