mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-19 15:29:42 +01:00
Proxies are all we really set on nams, so reset proxy data on all threads when the main thread's nam changes
This commit is contained in:
parent
4c0c610b15
commit
539f2eb700
@ -575,10 +575,12 @@ proxyFactory( bool noMutexLocker )
|
||||
|
||||
|
||||
void
|
||||
setProxyFactory( NetworkProxyFactory* factory )
|
||||
setProxyFactory( NetworkProxyFactory* factory, bool noMutexLocker )
|
||||
{
|
||||
Q_ASSERT( factory );
|
||||
QMutexLocker locker( &s_namAccessMutex );
|
||||
// Don't lock if being called from setNam()
|
||||
QMutex otherMutex;
|
||||
QMutexLocker locker( noMutexLocker ? &otherMutex : &s_namAccessMutex );
|
||||
|
||||
if ( !s_threadProxyFactoryHash.contains( TOMAHAWK_APPLICATION::instance()->thread() ) )
|
||||
return;
|
||||
@ -662,6 +664,9 @@ setNam( QNetworkAccessManager* nam )
|
||||
}
|
||||
|
||||
s_threadNamHash[ QThread::currentThread() ] = nam;
|
||||
|
||||
if ( QThread::currentThread() == TOMAHAWK_APPLICATION::instance()->thread() )
|
||||
setProxyFactory( dynamic_cast< TomahawkUtils::NetworkProxyFactory* >( nam->proxyFactory() ), true );
|
||||
}
|
||||
|
||||
|
||||
|
@ -97,7 +97,7 @@ namespace TomahawkUtils
|
||||
DLLEXPORT NetworkProxyFactory* proxyFactory( bool noMutexLocker = false );
|
||||
DLLEXPORT QNetworkAccessManager* nam();
|
||||
|
||||
DLLEXPORT void setProxyFactory( TomahawkUtils::NetworkProxyFactory* factory );
|
||||
DLLEXPORT void setProxyFactory( TomahawkUtils::NetworkProxyFactory* factory, bool noMutexLocker = false );
|
||||
DLLEXPORT void setNam( QNetworkAccessManager* nam );
|
||||
|
||||
DLLEXPORT QWidget* tomahawkWindow();
|
||||
|
Loading…
x
Reference in New Issue
Block a user