You probably want to give all these mutex lockers a tighter scope, eg.
```c++
SetWorking(true);
{
  QMutexLocker l(&mutex_);
  cancel_requested_ = false;
}
QtConcurrent::run(this, &RipCD::ThreadClickedRipButton);
```