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.
|