From 3f83b49cf0e551aad09d5a13a947a26a34490cae Mon Sep 17 00:00:00 2001 From: Person Date: Fri, 22 Dec 2017 20:07:24 -0800 Subject: [PATCH] --Bug fixes -Clicking random palette when using a palette file with only two entries in it could lead to a program freeze. --- Source/Fractorium/FractoriumPalette.cpp | 4 ++-- Source/Fractorium/PaletteEditor/PaletteEditor.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Fractorium/FractoriumPalette.cpp b/Source/Fractorium/FractoriumPalette.cpp index d937ce7..ac5b120 100644 --- a/Source/Fractorium/FractoriumPalette.cpp +++ b/Source/Fractorium/FractoriumPalette.cpp @@ -274,9 +274,9 @@ void Fractorium::OnPaletteCellDoubleClicked(int row, int col) void Fractorium::OnPaletteRandomSelectButtonClicked(bool checked) { uint i = 0; - int rowCount = ui.PaletteListTable->rowCount() - 1; + int rowCount = ui.PaletteListTable->rowCount(); - while ((i = QTIsaac::LockedRand(rowCount)) == uint(m_PreviousPaletteRow)); + while (((i = QTIsaac::LockedRand(rowCount)) == uint(m_PreviousPaletteRow)) || i >= uint(rowCount)); if (checked) OnPaletteCellDoubleClicked(i, 1);//Will clear the adjustments. diff --git a/Source/Fractorium/PaletteEditor/PaletteEditor.cpp b/Source/Fractorium/PaletteEditor/PaletteEditor.cpp index 673d8ed..43c9dd0 100644 --- a/Source/Fractorium/PaletteEditor/PaletteEditor.cpp +++ b/Source/Fractorium/PaletteEditor/PaletteEditor.cpp @@ -567,8 +567,8 @@ map PaletteEditor::GetRandomColorsFromImage(QString filena for (int i = 0; i < numPoints; i++) { - int x = QTIsaac::LockedRand() % image.width(); - int y = QTIsaac::LockedRand() % image.height(); + int x = QTIsaac::LockedRand(image.width()); + int y = QTIsaac::LockedRand(image.height()); QRgb rgb = image.pixel(x, y); GradientArrow arrow; arrow.Color(QColor::fromRgb(rgb));