From: Torste Aikio Date: Wed, 7 Jul 2010 07:28:38 +0000 (+0300) Subject: Some protection for multithreading X-Git-Url: http://vcs.maemo.org/git/?p=irwi;a=commitdiff_plain;h=acc74d88ce18c6a7bf9a1548c7cd965763812f2c Some protection for multithreading --- diff --git a/src/remotedbmgr.cpp b/src/remotedbmgr.cpp index 476a804..14f9eaa 100644 --- a/src/remotedbmgr.cpp +++ b/src/remotedbmgr.cpp @@ -29,7 +29,7 @@ RemoteDBMgr::~RemoteDBMgr() void RemoteDBMgr::getDBAsync() { - if (db.isEmpty()) { + if (db.isEmpty() && !processing) { QSettings settings(this); netAM.get(QNetworkRequest(QUrl(settings.value("baseUrl", "http://mercury.wipsl.com/irwi/").toString() + "db/db.xml"))); @@ -41,7 +41,7 @@ void RemoteDBMgr::getDBAsync() void RemoteDBMgr::dbDownloadFinished(QNetworkReply *reply) { - if (reply->error() == QNetworkReply::NoError) { + if (processing = (reply->error() == QNetworkReply::NoError)) { QByteArray ba = reply->readAll(); QBuffer buf(&ba); buf.open(QIODevice::ReadOnly); @@ -56,6 +56,7 @@ void RemoteDBMgr::dbDownloadFinished(QNetworkReply *reply) } else { qDebug() << reply->error(); } + processing = false; } void RemoteDBMgr::parse(QDomDocument &doc)