From 6189326430570d13b4ca1c47bd5b7fb41b85ddd6 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Mon, 27 May 2013 20:27:33 +0200 Subject: [PATCH] Lock setControlConnection to prevent races --- src/libtomahawk/Source.cpp | 1 + src/libtomahawk/Source.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/libtomahawk/Source.cpp b/src/libtomahawk/Source.cpp index eb4a24710..98d6c3290 100644 --- a/src/libtomahawk/Source.cpp +++ b/src/libtomahawk/Source.cpp @@ -85,6 +85,7 @@ Source::~Source() bool Source::setControlConnection( ControlConnection* cc ) { + QMutexLocker locker( &m_setControlConnectionMutex ); if ( !m_cc.isNull() && m_cc->isReady() && m_cc->isRunning() ) { const QString& nodeid = Database::instance()->impl()->dbid(); diff --git a/src/libtomahawk/Source.h b/src/libtomahawk/Source.h index 860369615..7273bc6b9 100644 --- a/src/libtomahawk/Source.h +++ b/src/libtomahawk/Source.h @@ -174,6 +174,7 @@ private: int m_commandCount; QString m_lastCmdGuid; mutable QMutex m_cmdMutex; + QMutex m_setControlConnectionMutex; Tomahawk::playlistinterface_ptr m_playlistInterface; };