Browse Source

- Fixed bad assert

- Little checking before saving url seeds list
- Little optimization to make fastresume data saving faster
adaptive-webui-19844
Christophe Dumez 17 years ago
parent
commit
04352cce3c
  1. 14
      src/bittorrent.cpp
  2. 12
      src/properties_imp.cpp

14
src/bittorrent.cpp

@ -692,7 +692,7 @@ void bittorrent::saveFastResumeAndRatioData(){ @@ -692,7 +692,7 @@ void bittorrent::saveFastResumeAndRatioData(){
if(! torrentBackup.exists()){
torrentBackup.mkpath(torrentBackup.path());
}
// Write fast resume data
// Pause torrents
std::vector<torrent_handle> handles = s->get_torrents();
for(unsigned int i=0; i<handles.size(); ++i){
torrent_handle &h = handles[i];
@ -702,11 +702,19 @@ void bittorrent::saveFastResumeAndRatioData(){ @@ -702,11 +702,19 @@ void bittorrent::saveFastResumeAndRatioData(){
}
// Pause download (needed before fast resume writing)
h.pause();
}
// Write fast resume data
for(unsigned int i=0; i<handles.size(); ++i){
torrent_handle &h = handles[i];
if(!h.is_valid()){
qDebug("/!\\ Error: Invalid handle");
continue;
}
QString fileHash = QString(misc::toString(h.info_hash()).c_str());
while(!receivedPausedAlert(fileHash)){
//qDebug("Sleeping while waiting that %s is paused", misc::toString(h.info_hash()).c_str());
//printPausedTorrents();
SleeperThread::msleep(500);
SleeperThread::msleep(300);
readAlerts();
}
// Extracting resume data
@ -1042,7 +1050,7 @@ void bittorrent::reloadTorrent(const torrent_handle &h){ @@ -1042,7 +1050,7 @@ void bittorrent::reloadTorrent(const torrent_handle &h){
}
// Write fast resume data
// Torrent is already paused
Q_ASSERT(pausedTorrents.indexOf(fileHash) != 1);
Q_ASSERT(pausedTorrents.indexOf(fileHash) != -1);
// Extracting resume data
if (h.has_metadata()){
// get fast resume data

12
src/properties_imp.cpp

@ -365,17 +365,21 @@ void properties::deleteSelectedUrlSeeds(){ @@ -365,17 +365,21 @@ void properties::deleteSelectedUrlSeeds(){
QList<QListWidgetItem *> selectedItems;
selectedItems = listWebSeeds->selectedItems();
QListWidgetItem *item;
bool change = false;
foreach(item, selectedItems){
QString url_seed = item->text();
int index = urlSeeds.indexOf(url_seed);
Q_ASSERT(index != -1);
urlSeeds.removeAt(index);
h.remove_url_seed(misc::toString((const char*)url_seed.toUtf8()));
change = true;
}
if(change){
// Save them to disk
saveWebSeeds();
// Refresh list
loadWebSeeds();
}
// Save them to disk
saveWebSeeds();
// Refresh list
loadWebSeeds();
}
void properties::deleteSelectedTrackers(){

Loading…
Cancel
Save