diff --git a/src/libtomahawk/playlist/playlistmodel.h b/src/libtomahawk/playlist/playlistmodel.h index 628261324..9a20d7377 100644 --- a/src/libtomahawk/playlist/playlistmodel.h +++ b/src/libtomahawk/playlist/playlistmodel.h @@ -34,7 +34,7 @@ public: Tomahawk::playlist_ptr playlist() const { return m_playlist; } void loadPlaylist( const Tomahawk::playlist_ptr& playlist, bool loadEntries = true ); - void loadHistory( const Tomahawk::source_ptr& source, unsigned int amount = 100 ); + void loadHistory( const Tomahawk::source_ptr& source, unsigned int amount = 50 ); void clear(); diff --git a/src/libtomahawk/source.cpp b/src/libtomahawk/source.cpp index a4944f30e..89ccd5020 100644 --- a/src/libtomahawk/source.cpp +++ b/src/libtomahawk/source.cpp @@ -41,8 +41,6 @@ Source::~Source() { qDebug() << Q_FUNC_INFO << friendlyName(); - return; - // TODO mark source as offline in database DatabaseCommand_SourceOffline* cmd = new DatabaseCommand_SourceOffline( id() ); Database::instance()->enqueue( QSharedPointer(cmd) ); } @@ -85,8 +83,8 @@ Source::remove() m_cc = 0; emit offline(); - SourceList::instance()->remove( this ); m_collections.clear(); + SourceList::instance()->remove( this ); } diff --git a/src/libtomahawk/sourcelist.cpp b/src/libtomahawk/sourcelist.cpp index 836b42e93..35e195664 100644 --- a/src/libtomahawk/sourcelist.cpp +++ b/src/libtomahawk/sourcelist.cpp @@ -87,6 +87,7 @@ SourceList::remove( Tomahawk::Source* s ) } emit sourceRemoved( src ); + src.clear(); } void diff --git a/src/libtomahawk/widgets/welcomewidget.cpp b/src/libtomahawk/widgets/welcomewidget.cpp index db9102fde..feb2d988a 100644 --- a/src/libtomahawk/widgets/welcomewidget.cpp +++ b/src/libtomahawk/widgets/welcomewidget.cpp @@ -27,7 +27,7 @@ WelcomeWidget::WelcomeWidget( QWidget* parent ) m_tracksModel = new PlaylistModel( ui->tracksView ); ui->tracksView->setModel( m_tracksModel ); - m_tracksModel->loadHistory( Tomahawk::source_ptr(), 50 ); + m_tracksModel->loadHistory( Tomahawk::source_ptr() ); connect( SourceList::instance(), SIGNAL( sourceAdded( Tomahawk::source_ptr ) ), SLOT( onSourceAdded( Tomahawk::source_ptr ) ) ); diff --git a/src/sip/jabber/jabber.h b/src/sip/jabber/jabber.h index 375d1a4f5..806c0ebc3 100644 --- a/src/sip/jabber/jabber.h +++ b/src/sip/jabber/jabber.h @@ -33,6 +33,9 @@ public slots: { if ( p ) p->disconnect(); + + delete p; + p = 0; } void sendMsg( const QString& to, const QString& msg ) diff --git a/src/sip/zeroconf/zeroconf.cpp b/src/sip/zeroconf/zeroconf.cpp index 91382c468..08a8aefac 100644 --- a/src/sip/zeroconf/zeroconf.cpp +++ b/src/sip/zeroconf/zeroconf.cpp @@ -36,6 +36,8 @@ void ZeroconfPlugin::disconnectPlugin() { m_isOnline = false; + delete m_zeroconf; + m_zeroconf = 0; } void