aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-05-19 08:44:24 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-05-19 08:44:24 +0000
commit7b7e7b4bd8466a4fa7d0603fbc7af9b71e4a52b6 (patch)
tree49310142871a648c850401a6025bb3f39979bacb /src
parent628480d42e7e957f98c4e628b282ccb3f09c8d28 (diff)
downloadqmmp-7b7e7b4bd8466a4fa7d0603fbc7af9b71e4a52b6.tar.gz
qmmp-7b7e7b4bd8466a4fa7d0603fbc7af9b71e4a52b6.tar.bz2
qmmp-7b7e7b4bd8466a4fa7d0603fbc7af9b71e4a52b6.zip
ALSA plugin: fixed crash
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@376 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Output/alsa/settingsdialog.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/Output/alsa/settingsdialog.cpp b/src/plugins/Output/alsa/settingsdialog.cpp
index 89c6cae84..7c5ddf081 100644
--- a/src/plugins/Output/alsa/settingsdialog.cpp
+++ b/src/plugins/Output/alsa/settingsdialog.cpp
@@ -106,7 +106,7 @@ void SettingsDialog::getCardDevices(int card)
{
qWarning("SettingsDialog (ALSA): snd_card_get_name() failed: %s",
snd_strerror(-err));
- card_name = "Unknown soundcard";
+ card_name = strdup("Unknown soundcard");
}
ui.mixerCardComboBox->addItem(QString(card_name));
@@ -185,8 +185,11 @@ void SettingsDialog::writeSettings()
settings.setValue("device", ui.deviceComboBox->currentText ());
settings.setValue("buffer_time",ui.bufferSpinBox->value());
settings.setValue("period_time",ui.periodSpinBox->value());
- QString card = m_cards.at(ui.mixerCardComboBox->currentIndex());
- settings.setValue("mixer_card", card);
+ if(ui.mixerCardComboBox->currentIndex() >= 0)
+ {
+ QString card = m_cards.at(ui.mixerCardComboBox->currentIndex());
+ settings.setValue("mixer_card", card);
+ }
settings.setValue("mixer_device", ui.mixerDeviceComboBox->currentText ());
settings.endGroup();
accept();