From e169dc63677215268f36b9d233082286d218392d Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Mon, 9 Aug 2010 14:51:42 +0200
Subject: [PATCH] prevent from having more than one captcha in groupchat

---
 src/groupchat_control.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/groupchat_control.py b/src/groupchat_control.py
index 3f50750e26..2cf491a3f0 100644
--- a/src/groupchat_control.py
+++ b/src/groupchat_control.py
@@ -388,6 +388,8 @@ class GroupchatControl(ChatControlBase):
         self.list_treeview.set_expander_column(column)
 
         self.setup_seclabel(self.xml.get_object('label_selector'))
+        
+        self.form_widget = None
 
         gajim.gc_connected[self.account][self.room_jid] = False
         # disable win, we are not connected yet
@@ -791,6 +793,10 @@ class GroupchatControl(ChatControlBase):
     def on_message(self, nick, msg, tim, has_timestamp=False, xhtml=None,
     status_code=[], displaymarking=None, captcha=None):
         if captcha:
+            if self.form_widget:
+                self.form_widget.hide()
+                self.form_widget.destroy()
+                self.btn_box.destroy()
             dataform = dataforms.ExtendForm(node=captcha)
             self.form_widget = dataforms_widget.DataFormWidget(dataform)
             self.form_widget.show_all()
@@ -807,7 +813,7 @@ class GroupchatControl(ChatControlBase):
                 self.form_widget.hide()
                 self.form_widget.destroy()
                 self.btn_box.destroy()
-                del self.form_widget
+                self.form_widget = None
                 del self.btn_box
 
             valid_button = gtk.Button(stock=gtk.STOCK_OK)
-- 
GitLab