Give the mutex lockers a tighter scope.

This commit is contained in:
Mattias Andersson 2014-05-12 17:24:35 +02:00
parent 919f7cbe94
commit 08f5af3320
1 changed files with 14 additions and 8 deletions

View File

@ -231,10 +231,12 @@ void RipCD::ThreadClickedRipButton() {
QByteArray buffered_input_bytes(CDIO_CD_FRAMESIZE_RAW, '\0');
for (lsn_t i_cursor = i_first_lsn; i_cursor <= i_last_lsn; i_cursor++) {
QMutexLocker l(&mutex_);
if (cancel_requested_) {
qLog(Debug) << "CD ripping canceled.";
return;
{
QMutexLocker l(&mutex_);
if (cancel_requested_) {
qLog(Debug) << "CD ripping canceled.";
return;
}
}
if (cdio_read_audio_sector(cdio_, buffered_input_bytes.data(),
i_cursor) == DRIVER_OP_SUCCESS) {
@ -321,8 +323,10 @@ void RipCD::ClickedRipButton() {
return;
}
SetWorking(true);
QMutexLocker l(&mutex_);
cancel_requested_ = false;
{
QMutexLocker l(&mutex_);
cancel_requested_ = false;
}
QtConcurrent::run(this, &RipCD::ThreadClickedRipButton);
}
@ -407,8 +411,10 @@ void RipCD::AddDestinationDirectory(QString dir) {
}
void RipCD::Cancel() {
QMutexLocker l(&mutex_);
cancel_requested_ = true;
{
QMutexLocker l(&mutex_);
cancel_requested_ = true;
}
ui_->progress_bar->setValue(0);
transcoder_->Cancel();
RemoveTemporaryDirectory();