mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-14 02:27:09 -07:00
- Made sure the pixmap cannot be drawn with uninitialized data
This commit is contained in:
parent
435801c893
commit
6d88bb5b83
2 changed files with 14 additions and 12 deletions
|
@ -55,13 +55,13 @@ public:
|
|||
void setProgress(bitfield pieces) {
|
||||
if(pieces.empty()) {
|
||||
// Empty bar
|
||||
pixmap = QPixmap(1, 1);
|
||||
QPainter painter(&pixmap);
|
||||
painter.setPen(Qt::white);
|
||||
painter.drawPoint(0,0);
|
||||
QPixmap pix = QPixmap(1, 1);
|
||||
pix.fill();
|
||||
pixmap = pix;
|
||||
} else {
|
||||
pixmap = QPixmap(pieces.size(), 1);
|
||||
QPainter painter(&pixmap);
|
||||
QPixmap pix = QPixmap(pieces.size(), 1);
|
||||
pix.fill();
|
||||
QPainter painter(&pix);
|
||||
for(uint i=0; i<pieces.size(); ++i) {
|
||||
if(pieces[i])
|
||||
painter.setPen(Qt::blue);
|
||||
|
@ -69,6 +69,7 @@ public:
|
|||
painter.setPen(Qt::white);
|
||||
painter.drawPoint(i,0);
|
||||
}
|
||||
pixmap = pix;
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
|
|
@ -54,21 +54,22 @@ public:
|
|||
double average = 0;
|
||||
if(avail.empty()) {
|
||||
// Empty bar
|
||||
pixmap = QPixmap(1, 1);
|
||||
QPainter painter(&pixmap);
|
||||
painter.setPen(Qt::white);
|
||||
painter.drawPoint(0,0);
|
||||
QPixmap pix = QPixmap(1, 1);
|
||||
pix.fill();
|
||||
pixmap = pix;
|
||||
} else {
|
||||
// Look for maximum value
|
||||
uint nb_pieces = avail.size();
|
||||
average = std::accumulate(avail.begin(), avail.end(), 0)/(double)nb_pieces;
|
||||
pixmap = QPixmap(nb_pieces, 1);
|
||||
QPainter painter(&pixmap);
|
||||
QPixmap pix = QPixmap(nb_pieces, 1);
|
||||
pix.fill();
|
||||
QPainter painter(&pix);
|
||||
std::vector<int>::iterator it;
|
||||
for(uint i=0; i < nb_pieces; ++i) {
|
||||
painter.setPen(getPieceColor(avail[i], average));
|
||||
painter.drawPoint(i,0);
|
||||
}
|
||||
pixmap = pix;
|
||||
}
|
||||
update();
|
||||
return average;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue