diff --git a/converse.js b/converse.js index f24956fbe..5ad6f95bf 100644 --- a/converse.js +++ b/converse.js @@ -569,10 +569,13 @@ }; this.clearSession = function () { - this.roster.browserStorage._clear(); + if (this.roster) { + this.roster.browserStorage._clear(); + } this.session.browserStorage._clear(); - var controlbox = converse.chatboxes.get('controlbox'); - controlbox.save({'connected': false}); + if (converse.connection.connected) { + converse.chatboxes.get('controlbox').save({'connected': false}); + } }; this.setSession = function () { diff --git a/docs/CHANGES.rst b/docs/CHANGES.rst index 02e78664d..134b52f15 100644 --- a/docs/CHANGES.rst +++ b/docs/CHANGES.rst @@ -6,6 +6,7 @@ Changelog * Refactored in order to remove the strophe.roster.js dependency. [jcbrand] * Bugfix. Manual login doesn't work when only websocket_url is set and not bosh_service_url. [jcbrand] +* Bugfix. clearSessions during unload event would throw an error when not logged in. [gbonvehi] 0.9.3 (2015-05-01) ------------------