diff --git a/src/engine/alsadevicefinder.cpp b/src/engine/alsadevicefinder.cpp index 9c26121d4..b53600e0f 100644 --- a/src/engine/alsadevicefinder.cpp +++ b/src/engine/alsadevicefinder.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -41,20 +42,13 @@ AlsaDeviceFinder::AlsaDeviceFinder() QList AlsaDeviceFinder::ListDevices() { QList ret; - int result = -1; - int card = -1; - int dev = -1; - - snd_ctl_card_info_t *cardinfo; - snd_pcm_info_t *pcminfo; - snd_ctl_t *handle; - - snd_ctl_card_info_alloca(&cardinfo); - snd_pcm_info_alloca(&pcminfo); snd_pcm_stream_name(SND_PCM_STREAM_PLAYBACK); + int card = -1; + snd_ctl_card_info_t* cardinfo; + snd_ctl_card_info_alloca(&cardinfo); while (true) { result = snd_card_next(&card); @@ -64,10 +58,10 @@ QList AlsaDeviceFinder::ListDevices() { } if (card < 0) break; - char name[32]; - sprintf(name, "hw:%d", card); - - result = snd_ctl_open(&handle, name, 0); + char str[32]; + snd_ctl_t* handle; + snprintf(str, 31, "hw:%d", card); + result = snd_ctl_open(&handle, str, 0); if (result < 0) { qLog(Error) << "Unable to open soundcard" << card << ":" << snd_strerror(result); continue; @@ -75,11 +69,14 @@ QList AlsaDeviceFinder::ListDevices() { result = snd_ctl_card_info(handle, cardinfo); if (result < 0) { qLog(Error) << "Control hardware failure for card" << card << ":" << snd_strerror(result); - snd_ctl_close(handle); + BOOST_SCOPE_EXIT(&handle) { snd_ctl_close(handle); } + BOOST_SCOPE_EXIT_END continue; } - dev = -1; + int dev = -1; + snd_pcm_info_t* pcminfo; + snd_pcm_info_alloca(&pcminfo); while (true) { result = snd_ctl_pcm_next_device(handle, &dev); @@ -106,7 +103,8 @@ QList AlsaDeviceFinder::ListDevices() { ret.append(device); } - snd_ctl_close(handle); + BOOST_SCOPE_EXIT(&handle) { snd_ctl_close(handle); } + BOOST_SCOPE_EXIT_END } snd_config_update_free_global(); diff --git a/src/widgets/statusview.cpp b/src/widgets/statusview.cpp index d72178800..7d6dc6fa3 100644 --- a/src/widgets/statusview.cpp +++ b/src/widgets/statusview.cpp @@ -150,7 +150,6 @@ void StatusView::CreateWidget() { //qLog(Debug) << __PRETTY_FUNCTION__; setLayout(layout_); - //setStyleSheet("background-color: white;"); layout_->setSizeConstraint(QLayout::SetMinAndMaxSize); layout_->setContentsMargins(0, 0, 0, 0);