Optimization in Utilities
Only listen for signals from the worker if we requested a worker action ourselves by keeping track of when we have requested the worker and only connecting these signals when the worker has a) appeared and b) we requested it. This is a somewhat major behavioral change, so I will not backport it to the 1.1 branch for fear of causing regressions.
Due to a lack of foresight when I originally designed the worker/backend mechanism, I failed to design a way for the backend to be notified about things it requested. Instead the backend gets sent signals indescriminately over DBus that any other application using a QApt::Backend could trigger.
For QApt2 I plan on having the worker functions return a unique DBus object responsible for sending/recieving signals for a particular transaction.