Can you show us the code from both threads that accesses the mutex?

Here is a mutex-free implementation, by the way:
Qt Code:
  1. connect(worker, SIGNAL(newImage(QImage)), widget, SLOT(drawPic(QImage)), Qt::BlockingQueuedConnection);
  2. //...
  3. void Widget::drawPic(QImage img){
  4. m_image = img;
  5. update();
  6. }
  7.  
  8. void Widget::paintEvent(QPaintEvent *pe){
  9. QPainter p(this);
  10. p.drawImage(m_image, ...);
  11. }
To copy to clipboard, switch view to plain text mode