From: Charles Kerr Date: Sat, 2 Feb 2019 20:49:53 +0000 (-0600) Subject: address dirty/save sequencing issue in prev commit X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5082393d925f52a097112ced01fdc9506aecfc9d;p=transmission address dirty/save sequencing issue in prev commit --- diff --git a/libtransmission/torrent.c b/libtransmission/torrent.c index 3ebaa665c..a5cb82cce 100644 --- a/libtransmission/torrent.c +++ b/libtransmission/torrent.c @@ -2318,23 +2318,21 @@ void tr_torrentRecheckCompleteness(tr_torrent* tor) fireCompletenessChange(tor, completeness, wasRunning); - if (tr_torrentIsSeed(tor)) + if (tr_torrentIsSeed(tor) && wasLeeching && wasRunning) { - if (wasLeeching && wasRunning) - { - /* if completeness was TR_LEECH then the seed limit check will have been skipped in bandwidthPulse */ - tr_torrentCheckSeedLimit(tor); - } - - if (tr_sessionIsTorrentDoneScriptEnabled(tor->session)) - { - tr_torrentSave(tor); - - torrentCallScript(tor, tr_sessionGetTorrentDoneScript(tor->session)); - } + /* if completeness was TR_LEECH, the seed limit check + will have been skipped in bandwidthPulse */ + tr_torrentCheckSeedLimit(tor); } tr_torrentSetDirty(tor); + + if (tr_torrentIsSeed(tor) && tr_sessionIsTorrentDoneScriptEnabled(tor->session)) + { + tr_torrentSave(tor); + + torrentCallScript(tor, tr_sessionGetTorrentDoneScript(tor->session)); + } } tr_torrentUnlock(tor);