From: Toni Wilen Date: Fri, 6 Jul 2018 07:39:49 +0000 (+0300) Subject: Added missing checks that prevented cd_audio_mode_changed=true detection in some... X-Git-Tag: 4010~27 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=f9a5d5371286e5932a144e8b486593417756f59b;p=francis%2Fwinuae.git Added missing checks that prevented cd_audio_mode_changed=true detection in some situations. --- diff --git a/od-win32/blkdev_win32_ioctl.cpp b/od-win32/blkdev_win32_ioctl.cpp index c14ded99..d6319b0d 100644 --- a/od-win32/blkdev_win32_ioctl.cpp +++ b/od-win32/blkdev_win32_ioctl.cpp @@ -529,8 +529,13 @@ static bool cdda_play2 (struct dev_info_ioctl *ciw, int *outpos) while (ciw->cdda_play > 0) { if (mode) { - while (cda_bufon[bufnum] && ciw->cdda_play > 0) + while (cda_bufon[bufnum] && ciw->cdda_play > 0) { + if (cd_audio_mode_changed) { + restart = true; + goto end; + } sleep_millis(10); + } } else { cda->wait(bufnum); } @@ -702,8 +707,10 @@ static bool cdda_play2 (struct dev_info_ioctl *ciw, int *outpos) } } - while (ciw->cdda_paused && ciw->cdda_play == oldplay) - sleep_millis(10); + if (cda_bufon[0] == 0 && cda_bufon[1] == 0) { + while (ciw->cdda_paused && ciw->cdda_play == oldplay) + sleep_millis(10); + } if (cd_audio_mode_changed) { restart = true;