1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 11:20:22 +02: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() LastFmPlugin::~LastFmPlugin()
{ {
qDebug() << Q_FUNC_INFO << " beginning";
delete m_scrobbler; delete m_scrobbler;
qDebug() << Q_FUNC_INFO << " exiting";
} }

View File

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

View File

@@ -107,7 +107,10 @@ class DLLEXPORT InfoPlugin : public QObject
public: public:
InfoPlugin( InfoSystemWorker *parent ); InfoPlugin( InfoSystemWorker *parent );
virtual ~InfoPlugin() {} virtual ~InfoPlugin()
{
qDebug() << Q_FUNC_INFO;
}
signals: signals:
void getCachedInfo( Tomahawk::InfoSystem::InfoCriteriaHash criteria, qint64 newMaxAge, QString caller, Tomahawk::InfoSystem::InfoType type, QVariant input, Tomahawk::InfoSystem::InfoCustomData customData ); 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() InfoSystemWorker::~InfoSystemWorker()
{ {
qDebug() << Q_FUNC_INFO; qDebug() << Q_FUNC_INFO << " beginning";
Q_FOREACH( InfoPluginPtr plugin, m_plugins ) Q_FOREACH( InfoPluginPtr plugin, m_plugins )
{ {
if( plugin ) if( plugin )
delete plugin.data(); delete plugin.data();
} }
qDebug() << Q_FUNC_INFO << " is done deleting plugins";
} }