From 389d4db311f22ceb787976a6c6130bb0260610bb Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 19 Mar 2014 15:05:01 +0100 Subject: rename in muc fixed --- src/eu/siacs/conversations/entities/MucOptions.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/eu/siacs/conversations/entities/MucOptions.java') diff --git a/src/eu/siacs/conversations/entities/MucOptions.java b/src/eu/siacs/conversations/entities/MucOptions.java index 16d9c6a8..4ed83a5a 100644 --- a/src/eu/siacs/conversations/entities/MucOptions.java +++ b/src/eu/siacs/conversations/entities/MucOptions.java @@ -76,6 +76,7 @@ public class MucOptions { private boolean isOnline = false; private int error = 0; private OnRenameListener renameListener = null; + private boolean aboutToRename = false; private User self = new User(); private String subject = null; @@ -121,6 +122,7 @@ public class MucOptions { Element item = packet.findChild("x").findChild("item"); String nick = item.getAttribute("nick"); if (nick!=null) { + aboutToRename = false; if (renameListener!=null) { renameListener.onRename(true); } @@ -131,7 +133,14 @@ public class MucOptions { } else if (type.equals("error")) { Element error = packet.findChild("error"); if (error.hasChild("conflict")) { - this.error = ERROR_NICK_IN_USE; + if (aboutToRename) { + if (renameListener!=null) { + renameListener.onRename(false); + } + aboutToRename = false; + } else { + this.error = ERROR_NICK_IN_USE; + } } } } @@ -195,4 +204,8 @@ public class MucOptions { public String getSubject() { return this.subject; } + + public void flagAboutToRename() { + this.aboutToRename = true; + } } \ No newline at end of file -- cgit v1.2.3