aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Transports/http/httpstreamreader.cpp3
-rw-r--r--src/plugins/Transports/mms/mmsstreamreader.cpp3
-rw-r--r--src/qmmp/qmmpaudioengine.cpp6
3 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/Transports/http/httpstreamreader.cpp b/src/plugins/Transports/http/httpstreamreader.cpp
index adf9916e7..3141dce77 100644
--- a/src/plugins/Transports/http/httpstreamreader.cpp
+++ b/src/plugins/Transports/http/httpstreamreader.cpp
@@ -262,7 +262,8 @@ void HttpStreamReader::abort()
}
m_stream.aborted = true;
m_mutex.unlock();
- m_thread->wait();
+ if(m_thread->isRunning())
+ m_thread->wait();
if (m_handle)
{
curl_easy_cleanup(m_handle);
diff --git a/src/plugins/Transports/mms/mmsstreamreader.cpp b/src/plugins/Transports/mms/mmsstreamreader.cpp
index 8bc9e9790..1e4e46d86 100644
--- a/src/plugins/Transports/mms/mmsstreamreader.cpp
+++ b/src/plugins/Transports/mms/mmsstreamreader.cpp
@@ -123,7 +123,8 @@ void MMSStreamReader::abort()
}
m_aborted = true;
m_mutex.unlock();
- m_thread->wait();
+ if(m_thread->isRunning())
+ m_thread->wait();
m_ready = false;
if (m_handle)
mmsx_close(m_handle);
diff --git a/src/qmmp/qmmpaudioengine.cpp b/src/qmmp/qmmpaudioengine.cpp
index b66d6b0c4..71f2fbc7c 100644
--- a/src/qmmp/qmmpaudioengine.cpp
+++ b/src/qmmp/qmmpaudioengine.cpp
@@ -256,7 +256,8 @@ void QmmpAudioEngine::stop()
if (m_output)
m_output->recycler()->cond()->wakeAll();
- wait();
+ if(isRunning())
+ wait();
if (m_output)
{
@@ -269,7 +270,8 @@ void QmmpAudioEngine::stop()
if (m_output)
{
m_output->recycler()->cond()->wakeAll();
- m_output->wait();
+ if(m_output->isRunning())
+ m_output->wait();
delete m_output;
m_output = 0;
}