summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libktorrent/torrent/chunkselector.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libktorrent/torrent/chunkselector.cpp b/libktorrent/torrent/chunkselector.cpp
index b1c42fa..d5d6cc6 100644
--- a/libktorrent/torrent/chunkselector.cpp
+++ b/libktorrent/torrent/chunkselector.cpp
@@ -20,6 +20,7 @@
#include <stdlib.h>
#include <vector>
#include <algorithm>
+#include <random>
#include <util/log.h>
#include <util/bitset.h>
#include "chunkcounter.h"
@@ -79,7 +80,9 @@ namespace bt
tmp.push_back(i);
}
}
- std::random_shuffle(tmp.begin(),tmp.end());
+ std::random_device randomDev;
+ std::mt19937 randomGenerator(randomDev());
+ std::shuffle(tmp.begin(), tmp.end(), randomGenerator);
// std::list does not support random_shuffle so we use a vector as a temporary storage
// for the random_shuffle
chunks.insert(chunks.begin(),tmp.begin(),tmp.end());