after posting some patches (and especially a patch that erase the writing of null variations) to DonGato i though that the RemoteQueueRank Variations code is strange ...
i'm again think that writing a (0) variation isn't needed but ...
here is the code that make me sad
|QUOTE (line 1738 @ CDownloadListCtrl::DrawSourceItem in DownloadListCtrl.cpp)|
| if (nDifference == nRemoteQueueRank)|
crOldTxtColor = dc->SetTextColor((COLORREF)RGB(0,0,0));
buffer.Format("QR: %u (%u)",nRemoteQueueRank,(nRemoteQueueRank-nDifference));
in my mind if nDifference == nRemoteQueueRank it is because the old nRemoteQueueRank == nRemoteQueueRank * 2 ( or equal old nRemoteQueueRank == nRemoteQueueRank + nDifference )
so it needs to be show like
|buffer.Format("QR: %u (-%u)",nRemoteQueueRank,(nDifference));|
but since all the nums and calculs are %65636 it is perhaps not real every time ...
it is strange to use unsigned numbers to keep track of a variation
perhaps setting m_uDeltaQueueRank and nDifference (and their associated functions) to signed int will be more usefull ...