]> granicus.if.org Git - transmission/commitdiff
(trunk, libT) #5146 'seeding complete callback called twice' -- fixed with patch...
authorJordan Lee <jordan@transmissionbt.com>
Wed, 5 Dec 2012 22:56:45 +0000 (22:56 +0000)
committerJordan Lee <jordan@transmissionbt.com>
Wed, 5 Dec 2012 22:56:45 +0000 (22:56 +0000)
libtransmission/torrent.c

index 21f01c9e544efc4c505b70507e80edbfc70121db..409f7f58611fe4e497604ea5fe37cabe136438a4 100644 (file)
@@ -440,7 +440,7 @@ tr_torrentCheckSeedLimit (tr_torrent * tor)
 {
     assert (tr_isTorrent (tor));
 
-    if (!tor->isRunning || !tr_torrentIsSeed (tor))
+    if (!tor->isRunning || tor->isStopping || !tr_torrentIsSeed (tor))
         return;
 
     /* if we're seeding and reach our seed ratio limit, stop the torrent */
@@ -2061,6 +2061,8 @@ tr_torrentRecheckCompleteness (tr_torrent * tor)
         tor->completeness = completeness;
         tr_fdTorrentClose (tor->session, tor->uniqueId);
 
+        fireCompletenessChange (tor, completeness, wasRunning);
+
         if (tr_torrentIsSeed (tor))
         {
             if (recentChange)
@@ -2085,8 +2087,6 @@ tr_torrentRecheckCompleteness (tr_torrent * tor)
                 torrentCallScript (tor, tr_sessionGetTorrentDoneScript (tor->session));
         }
 
-        fireCompletenessChange (tor, completeness, wasRunning);
-
         tr_torrentSetDirty (tor);
     }