mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-01 20:00:13 +02:00
Protect m_formats access with mutex in Result
This commit is contained in:
@@ -529,12 +529,23 @@ Result::track() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QList< DownloadFormat >
|
||||||
|
Result::downloadFormats() const
|
||||||
|
{
|
||||||
|
QMutexLocker lock( &s_mutex );
|
||||||
|
|
||||||
|
return m_formats;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Result::setDownloadFormats( const QList<DownloadFormat>& formats )
|
Result::setDownloadFormats( const QList<DownloadFormat>& formats )
|
||||||
{
|
{
|
||||||
if ( formats.isEmpty() )
|
if ( formats.isEmpty() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
QMutexLocker lock( &s_mutex );
|
||||||
|
|
||||||
m_formats.clear();
|
m_formats.clear();
|
||||||
foreach ( const DownloadFormat& format, formats )
|
foreach ( const DownloadFormat& format, formats )
|
||||||
{
|
{
|
||||||
@@ -562,7 +573,7 @@ Result::setDownloadFormats( const QList<DownloadFormat>& formats )
|
|||||||
void
|
void
|
||||||
Result::onSettingsChanged()
|
Result::onSettingsChanged()
|
||||||
{
|
{
|
||||||
if ( TomahawkSettings::instance()->downloadsPreferredFormat().toLower() != m_formats.first().extension.toLower() )
|
if ( TomahawkSettings::instance()->downloadsPreferredFormat().toLower() != downloadFormats().first().extension.toLower() )
|
||||||
{
|
{
|
||||||
setDownloadFormats( downloadFormats() );
|
setDownloadFormats( downloadFormats() );
|
||||||
emit updated();
|
emit updated();
|
||||||
|
@@ -131,7 +131,7 @@ public:
|
|||||||
|
|
||||||
track_ptr track() const;
|
track_ptr track() const;
|
||||||
|
|
||||||
QList<DownloadFormat> downloadFormats() const { return m_formats; }
|
QList< DownloadFormat > downloadFormats() const;
|
||||||
void setDownloadFormats( const QList<DownloadFormat>& formats );
|
void setDownloadFormats( const QList<DownloadFormat>& formats );
|
||||||
|
|
||||||
downloadjob_ptr downloadJob() const { return m_downloadJob; }
|
downloadjob_ptr downloadJob() const { return m_downloadJob; }
|
||||||
|
Reference in New Issue
Block a user