diff -Naur software-properties-0.82.2.ori/softwareproperties/SoftwareProperties.py software-properties-0.82.2/softwareproperties/SoftwareProperties.py --- software-properties-0.82.2.ori/softwareproperties/SoftwareProperties.py 2012-01-11 10:53:05.000000000 -0500 +++ software-properties-0.82.2/softwareproperties/SoftwareProperties.py 2012-01-30 17:15:46.743118962 -0500 @@ -660,6 +660,9 @@ if parsed_uri.netloc == 'ppa.launchpad.net': worker = AddPPASigningKeyThread(parsed_uri.path, self.options and self.options.keyserver) worker.start() + return worker + else: + return None def update_interface(self): " abstract interface to keep the UI alive " @@ -693,10 +696,13 @@ new_debsrc_entry = SourceEntry(debsrc_line, file) if new_deb_entry.invalid or new_debsrc_entry.invalid: return False - self.check_and_add_key_for_whitelisted_channels(deb_line) + worker = self.check_and_add_key_for_whitelisted_channels(deb_line) self.sourceslist.list.append(new_deb_entry) self.sourceslist.list.append(new_debsrc_entry) self.set_modified_sourceslist() + if worker: + worker.join(30) + self.KeysModified() return True def remove_source(self, source):