# HG changeset patch
# User Waqas Hussain <waqas20@gmail.com>
# Date 1266485332 -18000
# Node ID 82f3820758ede5b0fdbf331d0dbb5b35d624bb08
# Parent  c26bfc0359bb81ca72ed0ce1a6d2097b09771acf
MUC: Allow role changes based on JIDs.
(transplanted from a4879b1e6cde5aedb6bd5827d710b6dba5e8a736)

diff -r c26bfc0359bb -r 82f3820758ed plugins/muc/muc.lib.lua
--- a/plugins/muc/muc.lib.lua	Thu Feb 18 18:57:37 2010 +0000
+++ b/plugins/muc/muc.lib.lua	Thu Feb 18 14:28:52 2010 +0500
@@ -514,6 +514,9 @@
 					if not item.attr.jid and item.attr.nick then -- COMPAT Workaround for Miranda sending 'nick' instead of 'jid' when changing affiliation
 						local occupant = self._occupants[self.jid.."/"..item.attr.nick];
 						if occupant then item.attr.jid = occupant.jid; end
+					elseif not item.attr.nick and item.attr.jid then
+						local nick = self._jid_nick[item.attr.jid];
+						if nick then item.attr.nick = select(3, jid_split(nick)); end
 					end
 					local reason = item.tags[1] and item.tags[1].name == "reason" and #item.tags[1] == 1 and item.tags[1][1];
 					if item.attr.affiliation and item.attr.jid and not item.attr.role then