1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-11 08:34:34 +02:00

* Fixed TomahawkApp CTOR for secondary instances.

This commit is contained in:
Christian Muehlhaeuser
2011-04-07 04:47:31 +02:00
parent f6d4e0c63a
commit 87c554c6f0
3 changed files with 66 additions and 55 deletions

View File

@@ -78,6 +78,7 @@ public:
TomahawkApp( int& argc, char *argv[] ); TomahawkApp( int& argc, char *argv[] );
virtual ~TomahawkApp(); virtual ~TomahawkApp();
void init();
static TomahawkApp* instance(); static TomahawkApp* instance();
SipHandler* sipHandler() { return m_sipHandler; } SipHandler* sipHandler() { return m_sipHandler; }

View File

@@ -18,15 +18,15 @@
#include "tomahawk/tomahawkapp.h" #include "tomahawk/tomahawkapp.h"
#include "kdsingleapplicationguard/kdsingleapplicationguard.h"
#ifdef Q_WS_MAC #ifdef Q_WS_MAC
#include "tomahawkapp_mac.h" #include "tomahawkapp_mac.h"
#include </System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/Headers/AppleEvents.h> #include </System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/Headers/AppleEvents.h>
static pascal OSErr appleEventHandler( const AppleEvent*, AppleEvent*, long ); static pascal OSErr appleEventHandler( const AppleEvent*, AppleEvent*, long );
#endif #endif
#include <exception>
#include "kdsingleapplicationguard/kdsingleapplicationguard.h"
int int
main( int argc, char *argv[] ) main( int argc, char *argv[] )
{ {
@@ -44,9 +44,13 @@ main( int argc, char *argv[] )
KDSingleApplicationGuard guard( &a, KDSingleApplicationGuard::AutoKillOtherInstances ); KDSingleApplicationGuard guard( &a, KDSingleApplicationGuard::AutoKillOtherInstances );
QObject::connect( &guard, SIGNAL( instanceStarted( KDSingleApplicationGuard::Instance ) ), &a, SLOT( instanceStarted( KDSingleApplicationGuard::Instance ) ) ); QObject::connect( &guard, SIGNAL( instanceStarted( KDSingleApplicationGuard::Instance ) ), &a, SLOT( instanceStarted( KDSingleApplicationGuard::Instance ) ) );
if ( guard.isPrimaryInstance() )
a.init();
return a.exec(); return a.exec();
} }
#ifdef Q_WS_MAC #ifdef Q_WS_MAC
static pascal OSErr static pascal OSErr
appleEventHandler( const AppleEvent* e, AppleEvent*, long ) appleEventHandler( const AppleEvent* e, AppleEvent*, long )

View File

@@ -151,6 +151,34 @@ TomahawkApp::TomahawkApp( int& argc, char *argv[] )
, m_scrubFriendlyName( false ) , m_scrubFriendlyName( false )
, m_mainwindow( 0 ) , m_mainwindow( 0 )
, m_infoSystem( 0 ) , m_infoSystem( 0 )
{
qDebug() << "TomahawkApp thread:" << this->thread();
setOrganizationName( QLatin1String( ORGANIZATION_NAME ) );
setOrganizationDomain( QLatin1String( ORGANIZATION_DOMAIN ) );
setApplicationName( QLatin1String( APPLICATION_NAME ) );
setApplicationVersion( QLatin1String( VERSION ) );
setupLogfile();
}
TomahawkApp::~TomahawkApp()
{
qDebug() << Q_FUNC_INFO;
delete m_sipHandler;
delete m_servent;
#ifndef TOMAHAWK_HEADLESS
delete m_mainwindow;
delete m_audioEngine;
#endif
delete m_database;
}
void
TomahawkApp::init()
{ {
qsrand( QTime( 0, 0, 0 ).secsTo( QTime::currentTime() ) ); qsrand( QTime( 0, 0, 0 ).secsTo( QTime::currentTime() ) );
@@ -162,13 +190,7 @@ TomahawkApp::TomahawkApp( int& argc, char *argv[] )
setWindowIcon( QIcon( RESPATH "icons/tomahawk-icon-128x128.png" ) ); setWindowIcon( QIcon( RESPATH "icons/tomahawk-icon-128x128.png" ) );
#endif #endif
qDebug() << "TomahawkApp thread:" << this->thread();
setOrganizationName( QLatin1String( ORGANIZATION_NAME ) );
setOrganizationDomain( QLatin1String( ORGANIZATION_DOMAIN ) );
setApplicationName( QLatin1String( APPLICATION_NAME ) );
setApplicationVersion( QLatin1String( VERSION ) );
registerMetaTypes(); registerMetaTypes();
setupLogfile();
Echonest::Config::instance()->setAPIKey( "JRIHWEP6GPOER2QQ6" ); Echonest::Config::instance()->setAPIKey( "JRIHWEP6GPOER2QQ6" );
@@ -282,22 +304,6 @@ TomahawkApp::TomahawkApp( int& argc, char *argv[] )
} }
TomahawkApp::~TomahawkApp()
{
qDebug() << Q_FUNC_INFO;
delete m_sipHandler;
delete m_servent;
#ifndef TOMAHAWK_HEADLESS
delete m_mainwindow;
delete m_audioEngine;
#endif
delete m_database;
}
TomahawkApp* TomahawkApp*
TomahawkApp::instance() TomahawkApp::instance()
{ {