Provide instance()-method for Utils::NetworkAccessManager.

Preemptively fix exit warning "QEventLoop cannot be used
without QApplication" (Qt 5/dev) emitted by destruction of
the of the generic highlighter manager singleton which had a
member of type Utils::NetworkAccessManager.

Use a single instance of Utils::NetworkAccessManager for the
main thread and clean up properly using a qAddPostRoutine().

Change-Id: Ida57b9028a79eb4927818ce49088ea567f3bdfd6
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
Friedemann Kleint
2013-04-09 09:58:17 +02:00
parent 2ead48fb26
commit 9d7e786b03
21 changed files with 54 additions and 103 deletions

View File

@@ -43,10 +43,30 @@
\brief Network Access Manager for use with Qt Creator.
Common initialization, Qt Creator User Agent
Preferably, the instance returned by NetworkAccessManager::instance() should be used for the main
thread. The constructor is provided only for multithreaded use.
*/
namespace Utils {
static NetworkAccessManager *namInstance = 0;
void cleanupNetworkAccessManager()
{
delete namInstance;
namInstance = 0;
}
NetworkAccessManager *NetworkAccessManager::instance()
{
if (!namInstance) {
namInstance = new NetworkAccessManager;
qAddPostRoutine(cleanupNetworkAccessManager);
}
return namInstance;
}
static const QString getOsString()
{
QString osString;