changeset b96d1395001d in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=b96d1395001d description: don't close all GPG passphrase request dialogs when an account goes offline. Fixes #5938
diffstat:
src/gui_interface.py | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-)
diffs (31 lines):
diff -r 39b05481dfbb -r b96d1395001d src/gui_interface.py --- a/src/gui_interface.py Mon Oct 04 21:24:34 2010 +0200 +++ b/src/gui_interface.py Mon Oct 04 21:46:39 2010 +0200 @@ -225,7 +225,7 @@ del self.instances[account]['online_dialog'][name] for request in self.gpg_passphrase.values(): if request: - request.interrupt() + request.interrupt(account=account) if account in self.pass_dialog: self.pass_dialog[account].window.destroy() if show == 'offline': @@ -3373,9 +3373,15 @@ self.passphrase = None self.completed = False
- def interrupt(self): - self.dialog.window.destroy() - self.callbacks = [] + def interrupt(self, account=None): + if account: + for (acct, cb) in self.callbacks: + if acct == account: + self.callbacks.remove((acct, cb)) + else: + self.callbacks = [] + if not len(self.callbacks): + self.dialog.window.destroy()
def run_callback(self, account, callback): gajim.connections[account].gpg_passphrase(self.passphrase)