An yet more thoughts:
Does self._create_collections_completed start any jobs? If so, then we can possibly have ordering problems between the job started by it and the job started by self.device_manager.books. The books job will probably run before any job started by create_collections_completed, which means that any updates that create_collections_completed makes to the device booklists will win.
You can test this by changing the Dispatcher back to FunctionDispatcher. If this fixes it, then instead of using a non-modal dialog box, fire off a queued signal to open your dialog. The signal will be processed after your method returns, ensuring that the dialog opens outside the job.
|