From: Mitchell Livingston Date: Sat, 26 Feb 2011 15:13:35 +0000 (+0000) Subject: (trunk) #4066 Fix the pieces view for magnet links X-Git-Tag: 2.30b1~224 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fecc3fedae3720ac7f391ad250de8ac7326a4516;p=transmission (trunk) #4066 Fix the pieces view for magnet links --- diff --git a/macosx/PiecesView.m b/macosx/PiecesView.m index d502c1cea..5bdbf027e 100644 --- a/macosx/PiecesView.m +++ b/macosx/PiecesView.m @@ -70,16 +70,6 @@ enum [self clearView]; fTorrent = torrent; - if (fTorrent) - { - //determine relevant values - fNumPieces = MIN([fTorrent pieceCount], MAX_ACROSS * MAX_ACROSS); - fAcross = ceil(sqrt(fNumPieces)); - - const CGFloat width = [self bounds].size.width; - fWidth = (width - (fAcross + 1) * BETWEEN) / fAcross; - fExtraBorder = (width - ((fWidth + BETWEEN) * fAcross + BETWEEN)) / 2; - } NSImage * back = [[NSImage alloc] initWithSize: [self bounds].size]; [back lockFocus]; @@ -104,13 +94,23 @@ enum - (void) updateView { - if (!fTorrent) + if (!fTorrent || [fTorrent isMagnet]) return; //determine if first time const BOOL first = fPieces == NULL; if (first) + { + //determine relevant values + fNumPieces = MIN([fTorrent pieceCount], MAX_ACROSS * MAX_ACROSS); + fAcross = ceil(sqrt(fNumPieces)); + + const CGFloat width = [self bounds].size.width; + fWidth = (width - (fAcross + 1) * BETWEEN) / fAcross; + fExtraBorder = (width - ((fWidth + BETWEEN) * fAcross + BETWEEN)) / 2; + fPieces = (int8_t *)tr_malloc(fNumPieces * sizeof(int8_t)); + } int8_t * pieces = NULL; float * piecesPercent = NULL;