mirror of
https://github.com/transmission/transmission
synced 2024-12-24 16:52:39 +00:00
Fix tr_getComplete() and tr_getDone() bug reported by BentMyWookie
This commit is contained in:
parent
995c1cdbb1
commit
ae40410b4e
1 changed files with 4 additions and 2 deletions
|
@ -1024,11 +1024,13 @@ torrentThreadLoop ( void * _tor )
|
||||||
tr_torrentWriterLock( tor );
|
tr_torrentWriterLock( tor );
|
||||||
cpStatus = tr_cpGetStatus( tor->completion );
|
cpStatus = tr_cpGetStatus( tor->completion );
|
||||||
if( cpStatus != tor->cpStatus ) {
|
if( cpStatus != tor->cpStatus ) {
|
||||||
tor->hasChangedState = tor->cpStatus = cpStatus;
|
tor->cpStatus = cpStatus;
|
||||||
if( (cpStatus == TR_CP_COMPLETE) /* if we're complete */
|
if( (cpStatus == TR_CP_COMPLETE) /* if we're complete */
|
||||||
&& tor->tracker!=NULL /* and we have a tracker */
|
&& tor->tracker!=NULL /* and we have a tracker */
|
||||||
&& tor->downloadedCur ) /* and it just happened */
|
&& tor->downloadedCur ) { /* and it just happened */
|
||||||
tr_trackerCompleted( tor->tracker ); /* tell the tracker */
|
tr_trackerCompleted( tor->tracker ); /* tell the tracker */
|
||||||
|
tor->hasChangedState = tor->cpStatus; /* and the client */
|
||||||
|
}
|
||||||
tr_ioSync( tor->io );
|
tr_ioSync( tor->io );
|
||||||
}
|
}
|
||||||
tr_torrentWriterUnlock( tor );
|
tr_torrentWriterUnlock( tor );
|
||||||
|
|
Loading…
Reference in a new issue