diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java index 9cc409c38..7c2d0950b 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java @@ -248,6 +248,22 @@ public class MultiUserChat { listener.left(from); } } + + Destroy destroy = mucUser.getDestroy(); + // The room has been destroyed. + if (destroy != null) { + EntityBareJid alternateMucJid = destroy.getJid(); + final MultiUserChat alternateMuc; + if (alternateMucJid == null) { + alternateMuc = null; + } else { + alternateMuc = multiUserChatManager.getMultiUserChat(alternateMucJid); + } + + for (UserStatusListener listener : userStatusListeners) { + listener.roomDestroyed(alternateMuc, destroy.getReason()); + } + } } break; default: @@ -2471,13 +2487,6 @@ public class MultiUserChat { listener.nicknameChanged(from, mucUser.getItem().getNick()); } } - // The room has been destroyed. - if (mucUser.getDestroy() != null) { - MultiUserChat alternateMUC = multiUserChatManager.getMultiUserChat(mucUser.getDestroy().getJid()); - for (UserStatusListener listener : userStatusListeners) { - listener.roomDestroyed(alternateMUC, mucUser.getDestroy().getReason()); - } - } } /**