diff -up gwibber-894bzr/gwibber/accounts.py.BAD gwibber-894bzr/gwibber/accounts.py --- gwibber-894bzr/gwibber/accounts.py.BAD 2010-10-20 10:48:35.947104003 -0400 +++ gwibber-894bzr/gwibber/accounts.py 2010-10-20 10:52:38.074104002 -0400 @@ -163,18 +163,21 @@ class GwibberAccountManager(object): self.select_first() def on_account_delete(self, widget): - if "id" in self.account: - try: - private_fields = [f.split(":")[-1] for f in self.services[self.account["service"]]["config"] if ":" in f] - for f in private_fields: - if self.account[f].startswith(":KEYRING:"): - keyring_id = int(self.account[f].split(":")[-1]) - gnomekeyring.item_delete_sync(gnomekeyring.get_default_keyring_sync(), keyring_id) - except: - pass - self.gwibber.accounts.Delete(self.account["id"]) - self.populate_account_tree() - self.select_first() + if not hasattr(self, 'account'): + pass + else: + if "id" in self.account: + try: + private_fields = [f.split(":")[-1] for f in self.services[self.account["service"]]["config"] if ":" in f] + for f in private_fields: + if self.account[f].startswith(":KEYRING:"): + keyring_id = int(self.account[f].split(":")[-1]) + gnomekeyring.item_delete_sync(gnomekeyring.get_default_keyring_sync(), keyring_id) + except: + pass + self.gwibber.accounts.Delete(self.account["id"]) + self.populate_account_tree() + self.select_first() def on_edit_account_save(self, widget): print "Saving..."