diff options
author | Matthew Wild <mwild1@gmail.com> | 2012-07-22 17:02:18 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2012-07-22 17:02:18 +0100 |
commit | 41bab931e0143e408f83e3013e661a055a0d8150 (patch) | |
tree | 2b3a53b8555f1b86421683f6e774f45add109d78 /plugins/mod_presence.lua | |
parent | 94c9ed4e158fe9b24de77cde5da3a9124f7ffc38 (diff) | |
download | prosody-41bab931e0143e408f83e3013e661a055a0d8150.tar.gz prosody-41bab931e0143e408f83e3013e661a055a0d8150.zip |
mod_presence: Handle nil disconnection error
Diffstat (limited to 'plugins/mod_presence.lua')
-rw-r--r-- | plugins/mod_presence.lua | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/mod_presence.lua b/plugins/mod_presence.lua index 6d039d83..09a6f9f2 100644 --- a/plugins/mod_presence.lua +++ b/plugins/mod_presence.lua @@ -352,13 +352,15 @@ module:hook("resource-unbind", function(event) -- Send unavailable presence if session.presence then local pres = st.presence{ type = "unavailable" }; - if not(err) or err == "closed" then err = "connection closed"; end - pres:tag("status"):text("Disconnected: "..err):up(); + if err then + pres:tag("status"):text("Disconnected: "..err):up(); + end session:dispatch_stanza(pres); elseif session.directed then local pres = st.presence{ type = "unavailable", from = session.full_jid }; - if not(err) or err == "closed" then err = "connection closed"; end - pres:tag("status"):text("Disconnected: "..err):up(); + if err then + pres:tag("status"):text("Disconnected: "..err):up(); + end for jid in pairs(session.directed) do pres.attr.to = jid; core_post_stanza(session, pres, true); |