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
| QUOTE |
| 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 ...
KuSh