1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-25 02:09:48 +01:00

Add debug towards figuring out leo's crash

This commit is contained in:
Jeff Mitchell 2011-05-03 08:33:21 -04:00
parent bbfd4c91e7
commit 7330c9364d
4 changed files with 39 additions and 23 deletions

View File

@ -89,7 +89,9 @@ LastFmPlugin::LastFmPlugin( InfoSystemWorker* parent )
LastFmPlugin::~LastFmPlugin()
{
qDebug() << Q_FUNC_INFO << " beginning";
delete m_scrobbler;
qDebug() << Q_FUNC_INFO << " exiting";
}

View File

@ -78,17 +78,44 @@ InfoSystem::InfoSystem(QObject *parent)
InfoSystem::~InfoSystem()
{
qDebug() << Q_FUNC_INFO;
qDebug() << Q_FUNC_INFO << " beginning";
if ( m_infoSystemWorkerThreadController )
m_infoSystemWorkerThreadController->quit();
qDebug() << Q_FUNC_INFO << " sent quit signals";
if( m_infoSystemWorkerThreadController )
{
while( !m_infoSystemWorkerThreadController->isFinished() )
{
qDebug() << Q_FUNC_INFO << " worker thread controller not finished, processing events";
QCoreApplication::processEvents( QEventLoop::AllEvents, 200 );
TomahawkUtils::Sleep::msleep( 100 );
}
qDebug() << Q_FUNC_INFO << " worker is finished, deleting worker";
if( m_worker )
{
delete m_worker;
m_worker = 0;
}
qDebug() << Q_FUNC_INFO << " worker finished being deleted";
delete m_infoSystemWorkerThreadController;
m_infoSystemWorkerThreadController = 0;
}
qDebug() << Q_FUNC_INFO << " done deleting worker";
if ( m_infoSystemCacheThreadController )
m_infoSystemCacheThreadController->quit();
if ( m_infoSystemWorkerThreadController )
m_infoSystemWorkerThreadController->quit();
if( m_infoSystemCacheThreadController )
{
while( !m_infoSystemCacheThreadController->isFinished() )
{
qDebug() << Q_FUNC_INFO << " cache thread controller not finished, processing events";
QCoreApplication::processEvents( QEventLoop::AllEvents, 200 );
TomahawkUtils::Sleep::msleep( 100 );
}
@ -102,24 +129,7 @@ InfoSystem::~InfoSystem()
delete m_infoSystemCacheThreadController;
m_infoSystemCacheThreadController = 0;
}
if( m_infoSystemWorkerThreadController )
{
while( !m_infoSystemWorkerThreadController->isFinished() )
{
QCoreApplication::processEvents( QEventLoop::AllEvents, 200 );
TomahawkUtils::Sleep::msleep( 100 );
}
if( m_worker )
{
delete m_worker;
m_worker = 0;
}
delete m_infoSystemWorkerThreadController;
m_infoSystemWorkerThreadController = 0;
}
qDebug() << Q_FUNC_INFO << " done deleting cache";
}

View File

@ -107,7 +107,10 @@ class DLLEXPORT InfoPlugin : public QObject
public:
InfoPlugin( InfoSystemWorker *parent );
virtual ~InfoPlugin() {}
virtual ~InfoPlugin()
{
qDebug() << Q_FUNC_INFO;
}
signals:
void getCachedInfo( Tomahawk::InfoSystem::InfoCriteriaHash criteria, qint64 newMaxAge, QString caller, Tomahawk::InfoSystem::InfoType type, QVariant input, Tomahawk::InfoSystem::InfoCustomData customData );

View File

@ -44,12 +44,13 @@ InfoSystemWorker::InfoSystemWorker()
InfoSystemWorker::~InfoSystemWorker()
{
qDebug() << Q_FUNC_INFO;
qDebug() << Q_FUNC_INFO << " beginning";
Q_FOREACH( InfoPluginPtr plugin, m_plugins )
{
if( plugin )
delete plugin.data();
}
qDebug() << Q_FUNC_INFO << " is done deleting plugins";
}