From 92ee24382954bc654500482da0138667c472740b Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Sat, 14 Mar 2009 11:30:09 +0000 Subject: [PATCH] close passphrases dialog when we are disconnected. Fixes #4702 --- src/gajim.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gajim.py b/src/gajim.py index a5fa42ac6..e0af6f569 100644 --- a/src/gajim.py +++ b/src/gajim.py @@ -410,8 +410,13 @@ class PassphraseRequest: self.keyid = keyid self.callbacks = [] self.dialog_created = False + self.dialog = None self.completed = False + def interrupt(self): + self.dialog.window.destroy() + self.callbacks = [] + def run_callback(self, account, callback): gajim.connections[account].gpg_passphrase(self.passphrase) callback() @@ -467,7 +472,7 @@ class PassphraseRequest: # user failed 3 times, continue without GPG self.complete(None) - dialogs.PassphraseDialog(title, second, ok_handler=(_ok, 1), + self.dialog = dialogs.PassphraseDialog(title, second, ok_handler=(_ok, 1), cancel_handler=_cancel) self.dialog_created = True @@ -609,6 +614,9 @@ class Interface: # iteration error self.instances[account]['online_dialog'][name].destroy() del self.instances[account]['online_dialog'][name] + for request in self.gpg_passphrase.values(): + if request: + request.interrupt() if status == 'offline': # sensitivity for this menuitem if gajim.get_number_of_connected_accounts() == 0: