Instantiating a QEventLoop is now subject to the runners. Only runners which use asynchronous API (networking) make use of QEventLoops, while the others perform their work in the respective methods (which are run in a thread).
In addition, the runners are now instantiated in the background thread rather than in the GUI thread, which avoids thread affinity issues. In particular, it seems to avoid QEventLoops to be assigned to the GUI thread, causing them to block forever in the background threads.
online + offline routes, addresses, and online + offline placemarks were found and displayed successfully on the following platforms:
* x86 desktop with Qt 4.8.0
* Maemo 5 (N900) with Qt 4.7.0
* desktop Windows (wine) with Qt 4.7.4