=== modified file 'sessioninstaller/backends/aptd.py' --- old/sessioninstaller/backends/aptd.py 2012-08-21 06:30:09 +0000 +++ new/sessioninstaller/backends/aptd.py 2012-09-19 12:15:22 +0000 @@ -47,11 +47,18 @@ if parent: dia.realize() dia.set_transient_for(parent) - dia.run(close_on_finished=True, show_error=True, - reply_handler=deferred.callback, + dia.run(close_on_finished=True, show_error=False, + reply_handler=lambda: True, error_handler=deferred.errback) + dia.connect("finished", self._on_finished, deferred, trans) return deferred + def _on_finished(self, diag, deferred, trans): + if trans.error: + deferred.errback(trans.error) + else: + deferred.callback() + def _simulate_trans(self, trans, parent, interaction): deferred = defer.Deferred() trans.simulate(reply_handler=lambda: deferred.callback(trans),