mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-09 00:52:30 -06:00
BUGFIX: Fix possible crash when drawing piece downloaded/availability bars
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
* Unreleased - Christophe Dumez <chris@qbittorrent.org> - v2.0.5
|
||||||
|
- BUGFIX: Fix possible crash when drawing piece downloaded/availability bars
|
||||||
|
|
||||||
* Wed Dec 30 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.4
|
* Wed Dec 30 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.4
|
||||||
- BUGFIX: Fix PeerGuardian .p2b binary filter support
|
- BUGFIX: Fix PeerGuardian .p2b binary filter support
|
||||||
- BUGFIX: Fix possible crash when closing a search engine tab
|
- BUGFIX: Fix possible crash when closing a search engine tab
|
||||||
|
|||||||
@@ -55,13 +55,13 @@ public:
|
|||||||
void setProgress(bitfield pieces) {
|
void setProgress(bitfield pieces) {
|
||||||
if(pieces.empty()) {
|
if(pieces.empty()) {
|
||||||
// Empty bar
|
// Empty bar
|
||||||
pixmap = QPixmap(1, 1);
|
QPixmap pix = QPixmap(1, 1);
|
||||||
QPainter painter(&pixmap);
|
pix.fill();
|
||||||
painter.setPen(Qt::white);
|
pixmap = pix;
|
||||||
painter.drawPoint(0,0);
|
|
||||||
} else {
|
} else {
|
||||||
pixmap = QPixmap(pieces.size(), 1);
|
QPixmap pix = QPixmap(pieces.size(), 1);
|
||||||
QPainter painter(&pixmap);
|
pix.fill();
|
||||||
|
QPainter painter(&pix);
|
||||||
for(uint i=0; i<pieces.size(); ++i) {
|
for(uint i=0; i<pieces.size(); ++i) {
|
||||||
if(pieces[i])
|
if(pieces[i])
|
||||||
painter.setPen(Qt::blue);
|
painter.setPen(Qt::blue);
|
||||||
@@ -69,6 +69,7 @@ public:
|
|||||||
painter.setPen(Qt::white);
|
painter.setPen(Qt::white);
|
||||||
painter.drawPoint(i,0);
|
painter.drawPoint(i,0);
|
||||||
}
|
}
|
||||||
|
pixmap = pix;
|
||||||
}
|
}
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,21 +54,22 @@ public:
|
|||||||
double average = 0;
|
double average = 0;
|
||||||
if(avail.empty()) {
|
if(avail.empty()) {
|
||||||
// Empty bar
|
// Empty bar
|
||||||
pixmap = QPixmap(1, 1);
|
QPixmap pix = QPixmap(1, 1);
|
||||||
QPainter painter(&pixmap);
|
pix.fill();
|
||||||
painter.setPen(Qt::white);
|
pixmap = pix;
|
||||||
painter.drawPoint(0,0);
|
|
||||||
} else {
|
} else {
|
||||||
// Look for maximum value
|
// Look for maximum value
|
||||||
average = std::accumulate(avail.begin(), avail.end(), 0)/(double)avail.size();
|
average = std::accumulate(avail.begin(), avail.end(), 0)/(double)avail.size();
|
||||||
uint nb_pieces = avail.size();
|
uint nb_pieces = avail.size();
|
||||||
pixmap = QPixmap(nb_pieces, 1);
|
QPixmap pix = QPixmap(nb_pieces, 1);
|
||||||
QPainter painter(&pixmap);
|
pix.fill();
|
||||||
|
QPainter painter(&pix);
|
||||||
std::vector<int>::iterator it;
|
std::vector<int>::iterator it;
|
||||||
for(uint i=0; i < nb_pieces; ++i) {
|
for(uint i=0; i < nb_pieces; ++i) {
|
||||||
painter.setPen(getPieceColor(avail[i], average));
|
painter.setPen(getPieceColor(avail[i], average));
|
||||||
painter.drawPoint(i,0);
|
painter.drawPoint(i,0);
|
||||||
}
|
}
|
||||||
|
pixmap = pix;
|
||||||
}
|
}
|
||||||
update();
|
update();
|
||||||
return average;
|
return average;
|
||||||
|
|||||||
Reference in New Issue
Block a user