diff --git a/src/projectM-engine/RandomNumberGenerators.hpp b/src/projectM-engine/RandomNumberGenerators.hpp index 8a1e4a959..f9c6cf1f0 100644 --- a/src/projectM-engine/RandomNumberGenerators.hpp +++ b/src/projectM-engine/RandomNumberGenerators.hpp @@ -61,11 +61,10 @@ inline std::size_t uniformInteger(std::size_t upperBound=1) { inline std::size_t weightedRandom(const std::vector & weights, int weightTotalHint = 0) { - if (weightTotalHint == 0) - for (std::size_t i = 0; i < weights.size();i++) { + if (weightTotalHint <= 0) + for (std::size_t i = 0; i < weights.size();i++) weightTotalHint += weights[i]; - } - + int sampledSum = uniformInteger(weightTotalHint); int sum = 0; diff --git a/src/qprojectM/QProjectM_MainWindow.cpp b/src/qprojectM/QProjectM_MainWindow.cpp index 171980071..904142c40 100644 --- a/src/qprojectM/QProjectM_MainWindow.cpp +++ b/src/qprojectM/QProjectM_MainWindow.cpp @@ -509,6 +509,7 @@ void QProjectM_MainWindow::removePlaylistItems(const QModelIndexList & items) { } PlaylistItemVector & lastCachedItems = *historyHash[previousFilter]; + assert (lastCachedItems.size() == playlistModel->rowCount()); QVector zombieItems; @@ -531,7 +532,7 @@ void QProjectM_MainWindow::removePlaylistItems(const QModelIndexList & items) { int index = cachedItems.indexOf(id); if (index >= 0) cachedItems.remove(index); - } + } } foreach (int key, reverseOrderKeys) {