aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-08-18 08:23:12 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-08-18 08:23:12 +0000
commit7a8026a4ad54588c131fefbdb5dc3fd118054011 (patch)
tree5e69832cd846796553e5a9796a645ed121eb7e7a
parentd1aeeb6d67eca7901b3ff391c6253a4c7e1a2bc5 (diff)
downloadqmmp-7a8026a4ad54588c131fefbdb5dc3fd118054011.tar.gz
qmmp-7a8026a4ad54588c131fefbdb5dc3fd118054011.tar.bz2
qmmp-7a8026a4ad54588c131fefbdb5dc3fd118054011.zip
fixed crash when quitting while playlist is being populated (#799)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5420 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmpui/fileloader.cpp2
-rw-r--r--src/qmmpui/fileloader_p.h10
2 files changed, 8 insertions, 4 deletions
diff --git a/src/qmmpui/fileloader.cpp b/src/qmmpui/fileloader.cpp
index 4a7029c8f..0b0958423 100644
--- a/src/qmmpui/fileloader.cpp
+++ b/src/qmmpui/fileloader.cpp
@@ -22,6 +22,7 @@
#include <QRegExp>
#include <QMetaType>
#include <QDir>
+#include <QApplication>
#include "fileloader_p.h"
#include "qmmpuisettings.h"
#include "playlistitem.h"
@@ -33,6 +34,7 @@ FileLoader::FileLoader(QObject *parent) : QThread(parent)
m_settings = QmmpUiSettings::instance();
m_finished = false;
m_use_meta = false;
+ connect(qApp, SIGNAL(aboutToQuit()), SLOT(finish()));
}
FileLoader::~FileLoader()
diff --git a/src/qmmpui/fileloader_p.h b/src/qmmpui/fileloader_p.h
index 5df8c87fa..1dd0a823b 100644
--- a/src/qmmpui/fileloader_p.h
+++ b/src/qmmpui/fileloader_p.h
@@ -54,10 +54,6 @@ public:
*/
~FileLoader();
/*!
- * Removes files and directories from queue and waits until thread is finished
- */
- void finish();
- /*!
* Sets file/directory to load
*/
void add(const QString &path);
@@ -69,6 +65,12 @@ public:
void insert(PlayListItem *before, const QString &path);
void insert(PlayListItem *before, const QStringList &paths);
+public slots:
+ /*!
+ * Removes files and directories from queue and waits until thread is finished
+ */
+ void finish();
+
signals:
/*!
* Emitted when new playlist tracks are available.