]> Some of my projects - localmylist.git/commitdiff
Fix infinite loop in RequestHandler
authorAPTX <marek321@gmail.com>
Sat, 9 Jun 2012 17:04:59 +0000 (19:04 +0200)
committerAPTX <marek321@gmail.com>
Sat, 9 Jun 2012 17:04:59 +0000 (19:04 +0200)
localmylist/requesthandler.cpp

index 5b9900b606c1863b603841acf728b2870743ef2b..7546780ce1a9072c504977b18742244c40a80fd8 100644 (file)
@@ -62,11 +62,15 @@ void RequestHandler::handleRequests()
                        | FileAnimeFlag::GroupShortName;
 
        RaiiTransaction t(db);
+       t.commit();
 
        QList<PendingRequest> requests = db->getRequestBatch();
 
        qDebug() << "Got" << requests.count() << " data requests";
 
+       if (!requests.count())
+               return;
+
        foreach (const PendingRequest &request, requests)
        {
                if (request.aid)
@@ -102,8 +106,6 @@ void RequestHandler::handleRequests()
                }
        }
 
-       t.commit();
-
        emit batchFinished();
 }
 
@@ -114,11 +116,15 @@ void RequestHandler::handleMyListUpdates()
        qDebug() << "handleMyListUpdates";
 
        RaiiTransaction t(db);
+       t.commit();
 
        QList<PendingMyListUpdate> requests = db->getPendingMyListUpdateBatch();
 
        qDebug() << "Got" << requests.count() << " mylist update requests";
 
+       if (!requests.count())
+               return;
+
        foreach (const PendingMyListUpdate &request, requests)
        {
                MyListAddCommand cmd(request.fid, true);
@@ -149,8 +155,6 @@ void RequestHandler::handleMyListUpdates()
                myListUpdateIdMap.insert(reply, request.updateId);
        }
 
-       t.commit();
-
        emit myListUpdateBatchFinished();
 }