From: <pst...@us...> - 2008-12-24 01:18:24
|
Revision: 648 http://jazzplusplus.svn.sourceforge.net/jazzplusplus/?rev=648&view=rev Author: pstieber Date: 2008-12-24 01:18:18 +0000 (Wed, 24 Dec 2008) Log Message: ----------- Added checks to prevent crashes if all of the drum names are empty. Modified Paths: -------------- trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp Modified: trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp =================================================================== --- trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp 2008-12-24 00:32:03 UTC (rev 647) +++ trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp 2008-12-24 01:18:18 UTC (rev 648) @@ -81,11 +81,17 @@ } } - mKeyNormalName = - mIndexToName[mPitchToIndex[mMetronomeInfo.GetKeyNormal()]]; + if (mMetronomeInfo.GetKeyNormal() < mPitchToIndex.size()) + { + mKeyNormalName = + mIndexToName[mPitchToIndex[mMetronomeInfo.GetKeyNormal()]]; + } - mKeyAccentedName = - mIndexToName[mPitchToIndex[mMetronomeInfo.GetKeyAccented()]]; + if (mMetronomeInfo.GetKeyAccented() < mPitchToIndex.size()) + { + mKeyAccentedName = + mIndexToName[mPitchToIndex[mMetronomeInfo.GetKeyAccented()]]; + } mpVelocityKnob = new JZKnob(this, IDC_KB_VOLUME, 100, 0, 127); @@ -170,7 +176,7 @@ mpVelocityKnob->SetValueWithEvent(mMetronomeInfo.GetVelocity()); mpAccentedCheckBox->SetValue(mMetronomeInfo.IsAccented()); - int Selection, Index; + unsigned Selection, Index; Selection = 0; Index = 0; @@ -186,8 +192,12 @@ break; } } - mpNormalListbox->SetSelection(Selection); + if (Selection < mpNormalListbox->GetCount()) + { + mpNormalListbox->SetSelection(Selection); + } + Selection = 0; Index = 0; for ( @@ -202,8 +212,12 @@ break; } } - mpAccentedListbox->SetSelection(Selection); + if (Selection < mpAccentedListbox->GetCount()) + { + mpAccentedListbox->SetSelection(Selection); + } + return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |