From 8dd47e51d9c318e522b21f28bc3e3935ef692056 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 4 Jul 2013 21:11:28 +0300 Subject: add missing checks. also fix crash in creating character with broken data. --- src/gui/charcreatedialog.cpp | 10 ++++++++-- src/gui/palette.cpp | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src/gui') diff --git a/src/gui/charcreatedialog.cpp b/src/gui/charcreatedialog.cpp index c32098b63..b0a7d730c 100644 --- a/src/gui/charcreatedialog.cpp +++ b/src/gui/charcreatedialog.cpp @@ -159,8 +159,14 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *const parent, if (!maxHairStyle) maxHairStyle = mPlayer->getNumOfHairstyles(); - mHairStyle = (rand() % maxHairStyle) + minHairStyle; - mHairColor = (rand() % maxHairColor) + minHairColor; + if (maxHairStyle) + mHairStyle = (rand() % maxHairStyle) + minHairStyle; + else + mHairStyle = 0; + if (maxHairColor) + mHairColor = (rand() % maxHairColor) + minHairColor; + else + mHairColor = 0; mNameField->setMaximum(24); diff --git a/src/gui/palette.cpp b/src/gui/palette.cpp index abd328458..1b25620a9 100644 --- a/src/gui/palette.cpp +++ b/src/gui/palette.cpp @@ -127,7 +127,7 @@ void Palette::advanceGradient() % (delay * numOfColors); const int gradIndex = elem->gradientIndex; - const int pos = gradIndex % delay; + const int pos = delay ? (gradIndex % delay) : gradIndex; int colIndex; if (delay) colIndex = gradIndex / delay; -- cgit v1.2.3-70-g09d2