diff --git a/src/xpdev/xpbeep.c b/src/xpdev/xpbeep.c index 4a2fc7175d9dc9e1a7556dd276882f2723a51bd2..4fa3ba61f12a4b2292bec887e708fce4cf47f2e2 100644 --- a/src/xpdev/xpbeep.c +++ b/src/xpdev/xpbeep.c @@ -625,16 +625,14 @@ void xp_play_sample_thread(void *data) #ifdef USE_ALSA_SOUND if(handle_type==SOUND_DEVICE_ALSA) { - if(playback_handle != NULL) { - if(alsa_api->snd_pcm_writei(playback_handle, sample_buffer, sample_size)!=sample_size) { - /* Go back and try OSS */ - alsa_device_open_failed=TRUE; - xptone_close(); - xptone_open(); - } - else { - alsa_api->snd_pcm_drain(playback_handle); - } + if(alsa_api->snd_pcm_writei(playback_handle, sample_buffer, sample_size)!=sample_size) { + /* Go back and try OSS */ + alsa_device_open_failed=TRUE; + xptone_close(); + xptone_open(); + } + else { + alsa_api->snd_pcm_drain(playback_handle); } } #endif @@ -760,19 +758,17 @@ BOOL DLLCALL xp_play_sample(const unsigned char *sample, size_t sample_size, BOO #ifdef USE_ALSA_SOUND if(handle_type==SOUND_DEVICE_ALSA) { - if(playback_handle != NULL) { - if(alsa_api->snd_pcm_writei(playback_handle, sample, sample_size)!=sample_size) { - /* Go back and try OSS */ - alsa_device_open_failed=TRUE; + if(alsa_api->snd_pcm_writei(playback_handle, sample, sample_size)!=sample_size) { + /* Go back and try OSS */ + alsa_device_open_failed=TRUE; + xptone_close(); + xptone_open(); + } + else { + alsa_api->snd_pcm_drain(playback_handle); + if(must_close) xptone_close(); - xptone_open(); - } - else { - alsa_api->snd_pcm_drain(playback_handle); - if(must_close) - xptone_close(); - return(TRUE); - } + return(TRUE); } } #endif